The UML diagrams are categorized into structural diagrams, behavioral diagrams, and also interaction overview diagrams
Model2 / Model-View-Controller (MVC)
It specifies that a program or application shall consist of data model, presentation information and control information
The application logic is separated from the user interface while designing the software using model designs
Model => It represents the business layer of application. It is an object to carry the data that can also contain the logic to update controller if data is changed
View => It represents the presentation layer of application. It is used to visualize the data that the model contains
Controller => It works on both the model and view. It is used to manage the flow of application, i.e. data flow in the model object and to update the view whenever data is changed
Plain Old Java Object (POJO)
POJO is an object which encapsulates Business Logic
POJOs basically define an entity
Bean
Beans are special type of Pojos, All JavaBeans are POJOs but not all POJOs are JavaBeans
Fields should be private, Fields should have getters or setters or both, A no-arg constructor should be there in a bean, Fields are accessed only by constructor or getter setters
Data Access Object (DAO) Pattern
It is used to separate low-level data accessing API or operations from high-level business services
Separation of Concern
It is a software architecture design pattern/principle for separating an application into distinct sections, so each section addresses a separate concern