Rust Design Patterns
Creational Patterns
Pattern | Description | Status |
---|---|---|
Factory Method | Defers instantiation of an object to a specialized function for creating instances | |
Abstract Factory | Provides an interface for creating families of releated objects | |
Builder | Builds a complex object using simple objects | |
Singleton | Restricts instantiation of a type to one object | ✔ |
Behavioral Patterns
Pattern | Description | Status |
---|---|---|
Strategy | Enables an algorithm's behavior to be selected at runtime | |
State | Encapsulates varying behavior for the same object based on its internal state | ✔ |
Command | Converts requests or simple operations into objects. | |
Iterator | Lets you traverse elements of a collection without exposing its underlying representation | |
Observer | Allows one objects to notify other objects about changes in their state. | |
Chain of Responsibility | Avoids coupling a sender to receiver by giving more than object a chance to handle the request |
Structural Patterns
Pattern | Description | Status |
---|---|---|
Adapter | allows objects with incompatible interfaces to collaborate. | |
Decorator | Adds behavior to an object, statically or dynamically | |
Proxy | Provides a surrogate for an object to control it's actions |