Skip to content

IanEscober/DesignPatterns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Design Patterns

Nontrivial examples of the design patterns discussed from the book "Design Patterns: Elements of Reusable Object-Oriented Software". The examples aims to apply the patterns in a feasible scenario, which adds additional complexity to it. The goal of the examples is not to explain the concept of the design patterns but rather show how it is applied in a practical scenario.

Application

The list below shows the scenarios where the design patterns were applied.

Creational

Structural

  • Adapter - Message serializer/broacaster hook
  • Bridge - Repository persistence implementation
  • Composite - Credit/Loan account branching
  • Decorator - Operation exception logger
  • Facade - NgRx implementation excerpt
  • Flyweight - Character(Glyph) styler
  • Proxy - Operation result caching

Behavioral

  • Command - Cart/Ordering command handlers
  • Interpreter - IP mask decoder
  • Iterator - Bank account balance secure traverser
  • Mediator - MediatR implementation excerpt
  • Memento - Redux.js implementation excerpt
  • Observer - INotifyPropertyChange(MVVM) implementation excerpt
  • Pipeline - Message parser
  • State - LidState(WasteMan) validator
  • Strategy - String sanitizer
  • Template - Cache allocation techniques
  • Visitor - Azure Functions binding implementation excerpt

Contribution

Yeet a Pull Request

License

MIT

Releases

No releases published

Packages

No packages published

Languages