/rust-design-pattern

rust design patterns

Primary LanguageRustMozilla Public License 2.0MPL-2.0

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