Structural

Embedded Value
Also known as Aggregate Mapping, Composer Intent Many small objects make sense in an OO system that don’t make sense as tables in a database. An Embedded Value maps the values of an object to fields in the record of the object’s owner. Explanation Real-world example Examples include currency-aware money objects and date ranges. Although the default thinking is to save an object as a table, no sane person would want a table of money values.
Event Aggregator
Name Event Aggregator Intent A system with lots of objects can lead to complexities when a client wants to subscribe to events. The client has to find and register for each object individually, if each object has multiple events then each event requires a separate subscription. An Event Aggregator acts as a single source of events for many objects. It registers for all the events of the many objects allowing clients to register with just the aggregator.
Facade
Intent Provide a unified interface to a set of interfaces in a subsystem. Facade defines a higher-level interface that makes the subsystem easier to use. Explanation Real-world example How does a goldmine work? “Well, the miners go down there and dig gold!” you say. That is what you believe because you are using a simple interface that goldmine provides on the outside, internally it has to do a lot of stuff to make it happen.
Flux
Intent Flux eschews MVC in favor of a unidirectional data flow. When a user interacts with a view, the view propagates an action through a central dispatcher, to the various stores that hold the application’s data and business logic, which updates all of the views that are affected. Class diagram Applicability Use the Flux pattern when you want to focus on creating explicit and understandable update paths for your application’s data, which makes tracing changes during development simpler and makes bugs easier to track down and fix.
Flyweight
Intent Use sharing to support large numbers of fine-grained objects efficiently. Explanation Real-world example Alchemist’s shop has shelves full of magic potions. Many of the potions are the same so there is no need to create a new object for each of them. Instead, one object instance can represent multiple shelf items so the memory footprint remains small. In plain words It is used to minimize memory usage or computational expenses by sharing as much as possible with similar objects.
Front Controller
Intent Introduce a common handler for all requests for a web site. This way we can encapsulate common functionality such as security, internationalization, routing and logging in a single place. Class diagram Applicability Use the Front Controller pattern when you want to encapsulate common request handling functionality in single place you want to implements dynamic request handling i.e. change routing without modifying code make web server configuration portable, you only need to register the handler web server specific way Real world examples Apache Struts Credits J2EE Design Patterns Presentation Tier Patterns Patterns of Enterprise Application Architecture J2EE Design Patterns
Marker Interface
Intent Using empty interfaces as markers to distinguish special treated objects. Class diagram Applicability Use the Marker Interface pattern when you want to identify the special objects from normal objects (to treat them differently) you want to mark that some object is available for certain sort of operations Real world examples javase.8.docs.api.java.io.Serializable javase.8.docs.api.java.lang.Cloneable Credits Effective Java
Module
Intent Module pattern is used to implement the concept of software modules, defined by modular programming, in a programming language with incomplete direct support for the concept. Class diagram Applicability The Module pattern can be considered a creational pattern and a structural pattern. It manages the creation and organization of other elements, and groups them as the structural pattern does. An object that applies this pattern can provide the equivalent of a namespace, providing the initialization and finalization process of a static class or a class with static members with cleaner, more concise syntax and semantics.
Page Controller
Name / classification Page Controller Intent It is an approach of one page leading to one logical file that handles actions or requests on a website. Explanation Real-world example In a shopping website, there is a signup page to register a user profile. After finishing to signup, the signup page will be redirected to a user page to show the user’s registered information. In plain words Page controller manages HTTP requests and data in a specific page using MVC idea.