1. bridge: the abstract part is separated from its implementation part, so that both can be changed independently.
2. Composite mode: the objects are combined into a tree structure, representing the hierarchical structure of "part-whole". It enables customers to use single objects and composite objects consistently.
3.AbstractFactory: provides an interface for creating a series of related or interdependent objects without specifying their specific classes.
4. decorator pattern: Dynamically add some extra responsibilities to an object. As far as the extension function is concerned, the way it generates subclasses is more flexible.
5. Adapter mode: convert the interface of one class into another interface that the customer wants. Adapter patterns enable classes that cannot work together because of incompatible interfaces or classes to work together.
6.ChainofResponsibility: In order to understand the sender and receiver of the coupling request, multiple objects have the opportunity to process the request. Connect these objects into a chain and pass the request along this chain until an object processes it.
7.FactoryMethod: Define an interface for creating objects, and let subclasses decide which class to instantiate. FactoryMethod delays instantiation of a class to its subclasses.
8. Builder: Separate the construction of a complex object from its representation, so that the same construction process can create different representations.
9.Facade: provide a consistent interface for a group of interfaces in the subsystem. Facade defines a high-level interface, which makes this subsystem easier to use.
10, command mode: encapsulate a request into an object, so that customers can parameterize different requests; Queue or record requests and support cancelable operations.