The Spring Web MVC framework provides Model-View-Controller (MVC) architecture and ready components that can be used to develop flexible and loosely coupled web applications. The MVC pattern results in separating the different aspects of the application (input logic, business logic, and UI logic), while providing a loose coupling between these elements.

In general terms Ioc and Dip are principles which are used or implemented across object oriented programming architectural paradigm to achieve loose coupling of objects.

What is loose coupling? In Object oriented programming paradigm , objects are created which interact with each other to perform tasks. so, it is the interaction of the object where objects have to be coupled to share data and perform the tasks. In a traditional programming, these objects are very tightly coupled. refer below example

public class A
B b;

public A()

Normalization is a database design technique that reduces data redundancy and eliminates undesirable characteristics like Insertion, Update and Deletion Anomalies. Normalization rules divides larger tables into smaller tables and links them using relationships. The purpose of Normalization in SQL is to eliminate redundant (repetitive) data and ensure data is stored logically.

Anomalies which normalization solves:-

The Collection in Java is a framework that provides an architecture to store and manipulate the group of objects.Java Collections can achieve all the operations that you perform on a data such as searching, sorting, insertion, manipulation, and deletion.

The entire collections framework is designed around a set of standard interfaces. Several standard implementations such as LinkedList, HashSet, and TreeSet, of these interfaces are provided that you may use as it is and you may also implement your own collection.

A collections framework is a unified architecture for representing and manipulating collections. All collections frameworks contain the following −

Photo by Clément Hélardot on Unsplash

Object oriented programming can be defined as a programming model which is based upon the concept of objects. It is used to structure a software program into simple, reusable pieces of code blueprints, which are used to create individual instances of objects. There are many object-oriented programming languages including JavaScript, C++, Java, and Python.

what are objects?object is collection of states(attributes) and behaviour (methods) acting upon those attributes. …

Abhinav Jha

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store