Software Design Patterns

91 views
0 copy made
Document structure

Software Design Patterns

  1. Structural patterns
    1. Part 1
      1. Adapter (or Wrapper or Translator)
      2. Adapter pattern example
        1. JavaScript
      3. Composite pattern
      4. Composite pattern examples
        1. JavaScript
        2. Java
        3. C#
      5. Bridge pattern
      6. Bridge Pattern examples
        1. JavaScript
        2. Java
        3. C#
        4. PHP
        5. Scala
      7. Decorator pattern
      8. Decorator pattern examples
        1. Java
        2. JavaScript
        3. C++
    2. Part 3
      1. Proxy pattern
      2. Proxy pattern examples
        1. C++
        2. Delphi / Object Pascal
        3. C#
        4. JavaScript
        5. Java
      3. Marker pattern
      4. Marker pattern examples
      5. Twin pattern
      6. Twin pattern examples
      7. Module pattern
      8. Module pattern examples
        1. C#
        2. PHP
        3. JavaScript
        4. Java
        5. Procedural Pasca
        6. C
    3. Part 2
      1. Extension object pattern
      2. Flyweight pattern
      3. Flyweight pattern examples
        1. Scala
        2. C#
        3. JavaScript
        4. Java
        5. Python
        6. Swift
        7. Ruby
      4. Facade pattern
      5. Facade pattern examples
        1. Java
        2. C#
        3. Ruby
      6. Front controller pattern
  2. Behavioral patterns
    1. Part 3
      1. Observer
      2. Observer Pattern Examples
        1. Java
        2. JavaScript
        3. Python
      3. Specification Pattern
      4. Specification Pattern examples
        1. JavaScript
        2. C#
        3. C# 3.0, simplified with generics and extension methods
      5. Servant Pattern
      6. Servant Pattern Examples
        1. JavaScript
      7. Publish/subscribe pattern
      8. Publish/subscribe pattern example
        1. JavaScript
    2. Part 1
      1. Command pattern
      2. Command Pattern Examples
        1. C#
        2. Java 8
        3. Java
        4. JavaScript
        5. Python
        6. Scala
        7. Coffeescript
      3. Blackboard
      4. Blackboard pattern examples
        1. C#
        2. Code for item container for positioning
      5. Interpreter pattern
      6. Interpreter pattern examples
        1. C#
        2. BNF
        3. Java
      7. Chain of responsibility
      8. Chain of responsibility pattern examples
        1. C#
        2. JavaScript
        3. Java example
    3. Part 4
      1. State Pattern
      2. State pattern examples
        1. JavaScript
        2. Java
      3. Template method pattern
      4. Template method pattern examples
        1. Java
        2. JavaScript
      5. Strategy Pattern
      6. Strategy Pattern Examples
        1. Java
        2. C#
        3. JavaScript
      7. Visitor pattern
      8. Visitor pattern examples
        1. C++
        2. JavaScript
        3. Java
        4. C#
        5. Common Lisp
    4. Part 2
      1. Mediator Pattern
      2. Mediator Pattern Examples
        1. C#
        2. JavaScript
        3. Java
      3. Null Object pattern
      4. Null Object pattern examples
        1. Smalltalk
        2. Common Lisp
        3. Scheme
        4. C++
        5. JavaScript
        6. Java
        7. C#
        8. Visual Basic .NET
        9. Ruby
        10. PHP
        11. CLOS
      5. Memento pattern
      6. Memento pattern examples
        1. C#
        2. Java
        3. JavaScript
      7. Iterator Pattern
      8. Language-specific implementation of Iterator pattern
        1. Java
        2. Python
        3. JavaScript
        4. PHP
        5. C++
        6. C#
  3. Creational patterns
    1. Part 2
      1. Prototype pattern examples
        1. C#
        2. JavaScript
        3. Java
      2. Prototype pattern
      3. Multiton pattern
      4. Multiton pattern example
        1. JavaScript
      5. Resource Acquisition Is Initialization examples
        1. JavaScript
      6. Resource Acquisition Is Initialization
      7. Object pool pattern examples
        1. JavaScript
        2. C#
      8. Object pool pattern
      9. Singleton pattern examples
        1. JavaScript
        2. Java
      10. Singleton pattern
    2. Part 1
      1. Lazy initialization pattern
      2. Lazy initialization pattern examles
        1. JavaScript
        2. Java
        3. C
        4. C#
        5. C++
        6. Actionscript 3
        7. Ruby
        8. PHP
        9. Python
      3. Builder pattern examples
        1. Java
        2. C#
        3. JavaScript
        4. C++
      4. Builder pattern
      5. Abstract factory pattern examples
        1. JavaScript
        2. C#
      6. Abstract factory pattern
      7. Factory method pattern examples
        1. PHP
        2. JavaScript
        3. C#
        4. Java
      8. Factory method pattern
  4. Concurrency patterns
    1. Part 2
      1. Event-based asynchronous pattern
      2. Event-based asynchronous pattern examples
        1. .NET Framework
      3. Join pattern examples
        1. C#
        2. Join Java
        3. JErlang
        4. Scala
        5. C++
        6. Visual Basic
        7. Joins library (C# and VB)
        8. Scheme
        9. JoCaml
        10. Hume
      4. Join pattern
      5. Guarded suspension pattern examples
        1. Java
      6. Guarded suspension pattern
      7. Lock pattern
    2. Part 4
      1. Thread-specific storage pattern
      2. Scheduler pattern
      3. Thread pool pattern
    3. Part 3
      1. Read-write lock pattern
      2. Monitor object pattern
      3. Messaging design pattern
      4. Reactor pattern examples
        1. JavaScript
      5. Reactor pattern
    4. Part 1
      1. Balking pattern
      2. Balking pattern example
        1. Java
      3. Block chain
      4. Binding properties
      5. Binding properties examples
        1. Two-way binding can be expressed as follows (in C++):
        2. Code sketch for one-way binding may look like as follows:
        3. Accomplishing the binding may be like as follows:
      6. Active Object pattern
      7. Active Object pattern examples
        1. Java 8 (alternative)
        2. Java
  5. Software design pattern
  6. About this document
by Spatial Bookworm
About this document
This is a raw document about software design patterns. It contains pattern descriptions and examples for most patterns. The document is to be updated with new informaion as it becomes available. Currently patterns are organized by categories, but within categories their order is alphabetical. You are welcome to create a copy of this document, add information and pattern examples, and re-arrange patterns into meaningful subcategories. You're also welcome to share the result. Most of the content here is taken from Wikipedia. If content is taken from other sources, the link to the source is indicated at the bottom of a note. When transferring content from this document into platforms other than SpatialNote, please make sure the license permits that. Special thanks to Dmitry Sheiko, Joseph Zimmerman and Vladimir Stankovic for granting permission to use their JavaScript code as examples.
Published on 13 Jun 2016
60 cubes
251 notes
858.47 Kb
From the same author
121 cubes
760 notes
1.37 Mb
207 cubes
1330 notes
2.29 Mb
Embed viewer
Embed viewer
Share
Direct link