Skip to content

KidusMT/DesignPatterns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DesignPatterns

Design Patterns and Design Principles with their best practices and description

Keywords for Memorization

Define a family of algorithms, encapsulate each one, and make them interchangeable. Strategy lets the algorithm vary independently from the clients that use it.

  • family
  • interchangable
  • vary independenty

Define an interface for creating an object, but let subclasses decide which class to instantiate. Factory Method lets a class defer instantiation to subclasses.

  • family
  • interchangable
  • vary independenty

Visitor: O-P-E-S

Represent an operation to be performed on the elements of an object structure. Visitor lets you define a new operation without changing the classes of the elements on which it operates.

  • represent an Operation
  • Performed on an
  • Elements of object
  • in a Structure

Composite: C-T-P-T

Compose objects into tree structures to represent whole-part hierarchies. Composite lets clients treat individual objects and compositions of objects uniformly.

  • Compose
  • Tree structure
  • represent Part-whole hierarchies
  • Treat individual objects and compositions

Iterator: E-A-S-E

Provide a way to access the elements of an aggregate object sequentially without exposing its underlying representation.

  • access Element
  • Aggregate object
  • Squencially
  • wihtout Exposing

Proxy: S-P-A

Provide a surrogate or placeholder for another object to control access to it.

  • Surrogate
  • Placeholder
  • control Access

Good Video Materials from YT

Difference between

Decorator DP Composite DP
add new behaviour part-whole hierarchy
linear structure tree structure
one dimensional two dimensional
only one node one or more nodes

wrapper patterns

Releases

No releases published

Packages

No packages published

Languages