├── behavioralPatterns ├── state │ └── execution_result.png ├── command │ └── execution_result.png ├── iterator │ └── execution_result.png ├── mediator │ └── execution_result.png ├── memento │ └── execution_result.png ├── observer │ └── execution_result.png ├── strategy │ └── execution_result.png ├── visitor │ └── execution_result.png ├── interpreter │ └── execution_result.png ├── templateMethod │ └── execution_result.png └── chainOfResponsibility │ └── execution_result.png ├── structuralPatterns ├── proxy │ └── execution_result.png ├── adapter │ └── execution_result.png ├── bridge │ └── execution_result.png ├── facade │ └── execution_result.png ├── composite │ └── execution_result.png ├── decorator │ └── execution_result.png └── flyweight │ └── execution_result.png ├── creationalPatterns ├── builder │ └── execution_result.png ├── prototype │ └── execution_result.png ├── singleton │ └── execution_result.png ├── factoryMethod │ └── execution_result.png └── abstractFactory │ └── execution_result.png └── README.md /behavioralPatterns/state/execution_result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/uml-diagram-for-scala-design-pattern-examples/master/behavioralPatterns/state/execution_result.png -------------------------------------------------------------------------------- /structuralPatterns/proxy/execution_result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/uml-diagram-for-scala-design-pattern-examples/master/structuralPatterns/proxy/execution_result.png -------------------------------------------------------------------------------- /behavioralPatterns/command/execution_result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/uml-diagram-for-scala-design-pattern-examples/master/behavioralPatterns/command/execution_result.png -------------------------------------------------------------------------------- /behavioralPatterns/iterator/execution_result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/uml-diagram-for-scala-design-pattern-examples/master/behavioralPatterns/iterator/execution_result.png -------------------------------------------------------------------------------- /behavioralPatterns/mediator/execution_result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/uml-diagram-for-scala-design-pattern-examples/master/behavioralPatterns/mediator/execution_result.png -------------------------------------------------------------------------------- /behavioralPatterns/memento/execution_result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/uml-diagram-for-scala-design-pattern-examples/master/behavioralPatterns/memento/execution_result.png -------------------------------------------------------------------------------- /behavioralPatterns/observer/execution_result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/uml-diagram-for-scala-design-pattern-examples/master/behavioralPatterns/observer/execution_result.png -------------------------------------------------------------------------------- /behavioralPatterns/strategy/execution_result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/uml-diagram-for-scala-design-pattern-examples/master/behavioralPatterns/strategy/execution_result.png -------------------------------------------------------------------------------- /behavioralPatterns/visitor/execution_result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/uml-diagram-for-scala-design-pattern-examples/master/behavioralPatterns/visitor/execution_result.png -------------------------------------------------------------------------------- /creationalPatterns/builder/execution_result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/uml-diagram-for-scala-design-pattern-examples/master/creationalPatterns/builder/execution_result.png -------------------------------------------------------------------------------- /structuralPatterns/adapter/execution_result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/uml-diagram-for-scala-design-pattern-examples/master/structuralPatterns/adapter/execution_result.png -------------------------------------------------------------------------------- /structuralPatterns/bridge/execution_result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/uml-diagram-for-scala-design-pattern-examples/master/structuralPatterns/bridge/execution_result.png -------------------------------------------------------------------------------- /structuralPatterns/facade/execution_result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/uml-diagram-for-scala-design-pattern-examples/master/structuralPatterns/facade/execution_result.png -------------------------------------------------------------------------------- /creationalPatterns/prototype/execution_result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/uml-diagram-for-scala-design-pattern-examples/master/creationalPatterns/prototype/execution_result.png -------------------------------------------------------------------------------- /creationalPatterns/singleton/execution_result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/uml-diagram-for-scala-design-pattern-examples/master/creationalPatterns/singleton/execution_result.png -------------------------------------------------------------------------------- /structuralPatterns/composite/execution_result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/uml-diagram-for-scala-design-pattern-examples/master/structuralPatterns/composite/execution_result.png -------------------------------------------------------------------------------- /structuralPatterns/decorator/execution_result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/uml-diagram-for-scala-design-pattern-examples/master/structuralPatterns/decorator/execution_result.png -------------------------------------------------------------------------------- /structuralPatterns/flyweight/execution_result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/uml-diagram-for-scala-design-pattern-examples/master/structuralPatterns/flyweight/execution_result.png -------------------------------------------------------------------------------- /behavioralPatterns/interpreter/execution_result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/uml-diagram-for-scala-design-pattern-examples/master/behavioralPatterns/interpreter/execution_result.png -------------------------------------------------------------------------------- /creationalPatterns/factoryMethod/execution_result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/uml-diagram-for-scala-design-pattern-examples/master/creationalPatterns/factoryMethod/execution_result.png -------------------------------------------------------------------------------- /behavioralPatterns/templateMethod/execution_result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/uml-diagram-for-scala-design-pattern-examples/master/behavioralPatterns/templateMethod/execution_result.png -------------------------------------------------------------------------------- /creationalPatterns/abstractFactory/execution_result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/uml-diagram-for-scala-design-pattern-examples/master/creationalPatterns/abstractFactory/execution_result.png -------------------------------------------------------------------------------- /behavioralPatterns/chainOfResponsibility/execution_result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/takaakit/uml-diagram-for-scala-design-pattern-examples/master/behavioralPatterns/chainOfResponsibility/execution_result.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | UML Diagram for Scala Design Pattern Examples 2 | === 3 | 4 | This project lists UML diagrams of the "[Design Pattern Examples in Scala](https://github.com/takaakit/design-pattern-examples-in-scala)". When you click on a diagram image, the diagram will be opened in **Diagram Map**. If you want to know about Diagram Map, see [this post](https://dev.to/takaakit/diagram-map-tracing-uml-sysml-elements-across-diagrams-49i7). 5 | 6 | Behavioral Patterns 7 | --- 8 | | | | | 9 | | :---: | :---: | :---: | 10 | | **Chain of Responsibility** | **Command** | **Interpreter** | 11 | |
Scala Code
Execution Result |
Scala Code
Execution Result |
Scala Code
Execution Result | 12 | | **Iterator** | **Mediator** | **Memento** | 13 | |
Scala Code
Execution Result |
Scala Code
Execution Result |
Scala Code
Execution Result | 14 | | **Observer** | **State** | **Strategy** | 15 | |
Scala Code
Execution Result |
Scala Code
Execution Result |
Scala Code
Execution Result | 16 | | **Template Method** | **Visitor** | | 17 | |
Scala Code
Execution Result |
Scala Code
Execution Result | | 18 | 19 | Creational Patterns 20 | --- 21 | | | | | 22 | | :---: | :---: | :---: | 23 | | **Abstract Factory** | **Builder** | **Factory Method** | 24 | |
Scala Code
Execution Result |
Scala Code
Execution Result |
Scala Code
Execution Result | 25 | | **Prototype** | **Singleton** | | 26 | |
Scala Code
Execution Result |
Scala Code
Execution Result | | 27 | 28 | Structural Patterns 29 | --- 30 | | | | | 31 | | :---: | :---: | :---: | 32 | | **Adapter** | **Bridge** | **Composite** | 33 | |
Scala Code
Execution Result |
Scala Code
Execution Result |
Scala Code
Execution Result | 34 | | **Decorator** | **Facade** | **Flyweight** | 35 | |
Scala Code
Execution Result |
Scala Code
Execution Result |
Scala Code
Execution Result | 36 | | **Proxy** | | | 37 | |
Scala Code
Execution Result | | | 38 | 39 | 40 | References 41 | --- 42 | * Gamma, E. et al. Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1994 43 | * Hiroshi Yuki. Learning Design Patterns in Java [In Japanese Language], Softbank publishing, 2004 44 | 45 | Links 46 | --- 47 | * [Design Pattern Examples in Scala](https://github.com/takaakit/design-pattern-examples-in-scala) 48 | * [Diagram Map: tracing UML elements across diagrams](https://dev.to/takaakit/diagram-map-tracing-uml-sysml-elements-across-diagrams-49i7) 49 | 50 | License 51 | --- 52 | Diagram Map file (diagram_map.html) includes the following libraries: 53 | * [D3.js](https://d3js.org) is copyrighted by Mike Bostock and is released under the [BSD license](https://opensource.org/licenses/BSD-3-Clause). 54 | * [Popper.js](https://popper.js.org) is copyrighted by Federico Zivolo and is released under the [MIT license](https://opensource.org/licenses/MIT). 55 | * [Tippy.js](https://atomiks.github.io/tippyjs) is copyrighted by atomiks and is released under the [MIT license](https://opensource.org/licenses/MIT). 56 | * [Chroma.js](https://gka.github.io/chroma.js) is copyrighted by Gregor Aisch and is released under the [BSD license](https://opensource.org/licenses/BSD-3-Clause). 57 | * [Three.js](https://threejs.org) is copyrighted by three.js authors and is released under the [MIT license](https://opensource.org/licenses/MIT). 58 | * [Vanta.js](https://www.vantajs.com) is copyrighted by Teng Bao and is released under the [MIT license](https://opensource.org/licenses/MIT). 59 | 60 | Files and data in this project other than the above libraries are under the [Creative Commons Zero (CC0) license](https://creativecommons.org/publicdomain/zero/1.0/). 61 | 62 | Other Language Examples 63 | ----------------------- 64 | [C++](https://github.com/takaakit/uml-diagram-for-cpp-design-pattern-examples), [C#](https://github.com/takaakit/uml-diagram-for-csharp-design-pattern-examples), [Crystal](https://github.com/takaakit/uml-diagram-for-crystal-design-pattern-examples), [Go](https://github.com/takaakit/uml-diagram-for-golang-design-pattern-examples), [Java](https://github.com/takaakit/uml-diagram-for-java-design-pattern-examples), [JavaScript](https://github.com/takaakit/uml-diagram-for-javascript-design-pattern-examples), [Kotlin](https://github.com/takaakit/uml-diagram-for-kotlin-design-pattern-examples), [Python](https://github.com/takaakit/uml-diagram-for-python-design-pattern-examples), [Ruby](https://github.com/takaakit/uml-diagram-for-ruby-design-pattern-examples), [Swift](https://github.com/takaakit/uml-diagram-for-swift-design-pattern-examples), [TypeScript](https://github.com/takaakit/uml-diagram-for-typescript-design-pattern-examples) 65 | --------------------------------------------------------------------------------