This collection of texts originates from a book titled "一本书看透股权架构" by 李利威, which translates to "A Book to See Through Equity Structures". Published in 2019, it focuses on the intricacies of company equity, covering various aspects from the perspectives of legal regulations, taxation, finance, and management. The material explores different types of companies (limited liability, non-public joint stock, New Third Board, and listed companies), detailing the implications of various shareholding percentages and offering strategies for separating financial rights from control rights. It also discusses methods for equity structuring at different stages of a company's life cycle and considers scenarios like restructuring for listing, family succession, and mergers/acquisitions, illustrated with case studies of well-known companies.
Also known as: Cache
Flyweight is a structural design pattern that lets you fit more objects into the available amount of RAM by sharing common parts of state between multiple objects instead of keeping all of the data in each object.
Facade is a structural design pattern that provides a simplified interface to a library, a framework, or any other complex set of classes.
Decorator is a structural design pattern that lets you attach new behaviors to objects by placing these objects inside special wrapper objects that contain the behaviors.
Composite is a structural design pattern that lets you compose objects into tree structures and then work with these structures as if they were individual objects.
Bridge is a structural design pattern that lets you split a large class or a set of closely related classes into two separate hierarchies—abstraction and implementation—which can be developed independently of each other.
The adapter, also known as a wrapper, is a structural design pattern that allows objects with incompatible interfaces to collaborate.
DI frameworks, conversely, address these issues by enabling mock object injection for testing, dynamic configuration, loose coupling through interfaces, and simplified multithreading and resource management. This ultimately results in more flexible, testable, and maintainable systems.
Factory Method is a creational design pattern that provides an interface for creating objects in a superclass, but allows subclasses to alter the type of objects that will be created.
Prototype is a creational design pattern that lets you copy existing objects without making your code dependent on their classes.
Builder is a creational design pattern that lets you construct complex objects step by step. The pattern allows you to produce different types and representations of an object using the same construction code.
Abstract Factory is a creational design pattern that lets you produce families of related objects without specifying their concrete classes.
https://www.youtube.com/watch?v=xbjAsdAK4xQ
https://refactoring.guru/design-patterns/abstract-factory
Factory Method is a creational design pattern that provides an interface for creating objects in a superclass but allows subclasses to alter the type of objects that will be created.
Summary
This article mainly introduces software design patterns. It explains the concept of design patterns as typical solutions to common software design problems, rather than specific code, and distinguishes them from algorithms. The article elaborates on the components of design patterns, such as intent, motivation, structure, and code examples, and provides a catalog of various design patterns and refactoring techniques, covering creational, structural, and behavioral patterns. Finally, the article includes contact information.