Skip to content

PlumpMath/DesignPatternCS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DesignPatternCS

Summary

  1. Behavioral
  2. Command: Encapsulate a method call as an object containing all necessary information
  3. Chain of Responsibility: Pass requests between command and processing objects within a chain of objects
  4. Interpreter: Include language elements and evaluate sentences in a given language
  5. Iterator: Give sequential access to elements in a collection
  6. Mediator: Encapsulates and simplifies communication between objects
  7. Memento: Undo modifications and restore an object to its initial state
  8. Observer: Notify dependent objects of state changes
  9. State: Change object behavior depending on its state
  10. Strategy: Encapsulate algorithms within a class and make them interchangeable
  11. Template Method: Define an algorithm skeleton and delegate algorithm steps to subclasses so that they may be overridden
  12. Visitor: Add new operations to classes without modifying them
  13. Creational
  14. Singleton: Class with only one single possible instance
  15. Prototype: Clone or copy initialized instances
  16. Abstract factory: Create instances of classes belonging to different families
  17. Factory Method: Create instances of derived classes
  18. Builder: Separate representation and object construction
  19. Structural
  20. Adapter: Match interfaces of classes with different interfaces
  21. Bridge: Separate implementation and object interfaces
  22. Composite: Simple and composite objects tree
  23. Decorator: Dynamically add responsibilities to objects
  24. Facade: Class that represents subclasses and subsystems
  25. Flyweight: Minimize memory usage by sharing as much data as possible with similar objects
  26. Proxy: Object that represents another object

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages