/go-design-patterns

My Favorite Implementation of Popular Design Patterns using GoLang

Primary LanguageGoMIT LicenseMIT

go-design-patterns

My Favorite Implementation of Popular Design Patterns using GoLang

List of Design Patterns

20

  1. Singleton
  2. Factory Method
  3. Abstract Factory
  4. Builder
  5. Prototype
  6. Adapter
  7. Bridge
  8. Composite
  9. Decorator
  10. Facade
  11. Flyweight
  12. Proxy
  13. Command
  14. Interpreter
  15. Iterator
  16. Mediator
  17. Memento
  18. Observer
  19. State
  20. Strategy

100

  1. Adapter
  2. Abstract Factory
  3. Acyclic Visitor
  4. Aggregator
  5. Bridge
  6. Builder
  7. Chain of Responsibility
  8. Command
  9. Composite
  10. Decorator
  11. Double Dispatch
  12. Event Aggregator
  13. Event-based Asynchronous
  14. Extension Interface
  15. Facade
  16. Factory Method
  17. Fluent Interface
  18. Flyweight
  19. Front Controller
  20. Function Object
  21. Intercepting Filter
  22. Interpreter
  23. Iterator
  24. Mediator
  25. Memento
  26. Method Chaining
  27. Module
  28. Null Object
  29. Object Pool
  30. Observer
  31. Pipe and Filter
  32. Private Class Data
  33. Proxy
  34. Publish-Subscribe
  35. Prototype
  36. Provider
  37. Quantifier
  38. Queued Message Handler
  39. RAII
  40. Reactor
  41. Registry
  42. Remote Proxy
  43. Resource Acquisition Is Initialization
  44. Role Object
  45. Singleton
  46. Specification
  47. State
  48. Strategy
  49. Subclass Sandbox
  50. Template Method
  51. Thread-safe Interface
  52. Thread-specific Storage
  53. ThreadPool
  54. Type Object
  55. Virtual constructor
  56. Visitor
  57. Active Object
  58. Audit Trail
  59. Balking
  60. Binding Properties
  61. Bytecode
  62. Callback
  63. Caching
  64. Capability
  65. Chain of Command
  66. Chaining Method Calls
  67. Command Processor
  68. Concurrency
  69. Context Object
  70. Data Access Object
  71. Data Transfer Object
  72. Delegation
  73. Dependency Injection
  74. Dirty Flag
  75. Disposable
  76. Domain Model
  77. Double-checked Locking
  78. Eager Initialization
  79. Event Sourcing
  80. Exception Safety
  81. Factory Kit
  82. Fluent Interface
  83. Function Composition
  84. Gossip
  85. Half-Object + Protocol
  86. Hidden implementation
  87. Immutable
  88. Initialization on Demand Holder
  89. Layered Architecture
  90. Lazy Initialization
  91. Marker Interface
  92. Messaging
  93. Model-View-Controller
  94. Model-View-Presenter
  95. Naked Object
  96. Node
  97. Observable
  98. Page Object
  99. Parallel Processor
  100. Parametrized Typing