View Code? Open in Web Editor
NEW
This project forked from lpxxn/rust-design-pattern
rust design patterns
License: Mozilla Public License 2.0
rust-design-pattern's Introduction
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 |
✔ |
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 |
✔ |
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 |
✔ |
rust-design-pattern's People