Advantages: 1. Decoupling the target class and adaptation Class 2. Increasing class transparency and reusability, and encapsulating specific implementations in the adaptation class, the client class is transparent and improves the reusability of the adapter. 3. The flexibility and scalability are very good. The class adapter conforms to the open/closed principle and has the following advantages: 1. Because the adapter class is a subclass of the adapter class, you can replace some adaptive methods in the adapter class to make the adapter more flexible. Disadvantages of class adapter: 1. For languages that do not support multi-inheritance such as Java and C #, a maximum of one adaption class can be adapted at a time, and the target abstract class can only be an interface, not a class, its usage has certain limitations. It is not allowed to adapt an adapter class and its subclass to the target interface at the same time. Object Adapter has the following advantages: 1. Adapt multiple different adaptors to the same target, that is, the same adapter can adapt both the adapter class and its subclass to the target interface. Disadvantages of Object Adapter: 1. Compared with the class adapter mode, it is not easy to replace the method of the adapter class.