(51CTO official Java development engineer QQ group (27163376), please enter your ID for verification. Designing object-oriented software is difficult, and designing reusable object-oriented software is even more difficult. It is necessary for you to find the relevant objects, classify them with the proper granularity, define the interface and inheritance hierarchy of the class, and establish the basic relationship between the objects. Your design should be specific to the problem at hand, while being versatile enough to meet future problems and needs. A collection of 23 design patterns (Java), classic literature.
Twenty-three design patterns.pdf)