Structural

Ambassador
Intent Provide a helper service instance on a client and offload common functionality away from a shared resource. Explanation Real world example A remote service has many clients accessing a function it provides. The service is a legacy application and is impossible to update. Large numbers of requests from users are causing connectivity issues. New rules for request frequency should be implemented along with latency checks and client-side logging. In plain words
Adapter
Also known as Wrapper Intent Convert the interface of a class into another interface the clients expect. Adapter lets classes work together that couldn’t otherwise because of incompatible interfaces. Explanation Real-world example Consider that you have some pictures on your memory card and you need to transfer them to your computer. To transfer them, you need some kind of adapter that is compatible with your computer ports so that you can attach a memory card to your computer.
Bridge
Also known as Handle/Body Intent Decouple an abstraction from its implementation so that the two can vary independently. Explanation Real-world example Consider you have a weapon with different enchantments, and you are supposed to allow mixing different weapons with different enchantments. What would you do? Create multiple copies of each of the weapons for each of the enchantments or would you just create separate enchantment and set it for the weapon as needed?
Business Delegate
Intent The Business Delegate pattern adds an abstraction layer between presentation and business tiers. By using the pattern we gain loose coupling between the tiers and encapsulate knowledge about how to locate, connect to, and interact with the business objects that make up the application. Explanation Real world example A mobile phone application promises to stream any movie in existence to your phone. It captures the user’s search string and passes this on to the business delegate.
Composite
Intent Compose objects into tree structures to represent part-whole hierarchies. Composite lets clients treat individual objects and compositions of objects uniformly. Explanation Real-world example Every sentence is composed of words which are in turn composed of characters. Each of these objects are printable and they can have something printed before or after them like sentence always ends with full stop and word always has space before it. In plain words
Composite Entity
Intent It is used to model, represent, and manage a set of persistent objects that are interrelated, rather than representing them as individual fine-grained entities. Explanation Real world example For a console, there may be many interfaces that need to be managed and controlled. Using the composite entity pattern, dependent objects such as messages and signals can be combined together and controlled using a single object. In plain words Composite entity pattern allows a set of related objects to be represented and managed by a unified object.
Composite View
Name Composite View Intent The purpose of the Composite View Pattern is to increase re-usability and flexibility when creating views for websites/webapps. This pattern seeks to decouple the content of the page from its layout, allowing changes to be made to either the content or layout of the page without impacting the other. This pattern also allows content to be easily reused across different views easily. Explanation Real World Example
Decorator
Also known as Wrapper Intent Attach additional responsibilities to an object dynamically. Decorators provide a flexible alternative to subclassing for extending functionality. Explanation Real-world example There is an angry troll living in the nearby hills. Usually, it goes bare-handed but sometimes it has a weapon. To arm the troll it’s not necessary to create a new troll but to decorate it dynamically with a suitable weapon. In plain words Decorator pattern lets you dynamically change the behavior of an object at run time by wrapping them in an object of a decorator class.
Delegation
Also known as Proxy Pattern Intent It is a technique where an object expresses certain behavior to the outside but in reality delegates responsibility for implementing that behaviour to an associated object. Explanation Real-world example Imagine that we have adventurers who fight monsters with different weapons depending on their abilities and skills. We must be able to equip them with different ones without having to modify their source code for each one.