Studying GoF Design Patterns
A creation pattern is a pattern related to the creation of an object. It is a way to abstract the process of instantiating an object. It adds flexibility to a program by encapsulating the creation and reference process of an object so that the program structure is not affected when the object is created or changed. The generated class pattern allows a subclass to be responsible for some of the object creation, while the generated object pattern delegates object creation to another object.
Pattern | Document | Estimates | State |
---|---|---|---|
𝐒ingleton | Document | 0.5H | ✅ |
𝐅actory Method | Document | 0.5H | ✅ |
Åbstract Factory | Document | 0.5H | ✅ |
𝐁uilder | Document | 0.5H | ✅ |
𝐏rototype | Document | 0.5H | ✅ |
Structural patterns are patterns that allow you to combine classes or objects into larger structures. The structural class pattern synthesizes classes or interfaces through inheritance, and the structural object pattern defines how to synthesize objects.
Pattern | Document | Estimates | State |
---|---|---|---|
Ådapter | Document | 0.5H | ✅ |
𝐁ridge | Document | 0.5H | ✅ |
𝐂omposite | Document | 1.0H | ✅ |
𝐅açade | Document | 0.5H | ✅ |
𝐅lyweight | Document | 1.0H | ✅ |
𝐏rotection Proxy | Document | - | ✅ |
𝐕irtual Proxy | Document | - | ✅ |
A behavior pattern is a pattern that defines how classes or objects should interact with each other, or which tasks and algorithms should be assigned to which objects. In other words, it defines how objects or classes should interact. Behavior patterns help you distribute tasks that cannot be performed by a single object to multiple objects while minimizing the coupling between them. Behavioral class patterns describe algorithms and control flow through inheritance, while behavioral object hatches describe how a set of objects cooperate to accomplish a task.
Pattern | Document | Estimates | State |
---|---|---|---|
𝐎bserver | Document | 1.0H | ✅ |
𝐂hain of Responsibility | Document | 1.0H | ✅ |
𝐂ommand | Document | 0.5H | ✅ |
𝐈nterpreter | Document | 1.0H | ✅ |
𝐈terator | Document | 0.5H | ✅ |
𝐌ediator | Document | 1.0H | ✅ |
𝐌emento | Document | 0.5H | ✅ |
𝐒tate | Document | 0.5H | ✅ |
𝐒trategy | Document | 0.5H | ✅ |
𝐓emplate Method | Document | 0.5H | ✅ |
𝐕isitor | Document | 0.5H | ✅ |