|
1 | 1 | <div align="center">
|
2 |
| -<img src="https://github.com/alexprut/design-patterns-java/raw/staging/logo.png" height="300" height="auto"/> |
| 2 | +<img src="https://github.com/alexprut/design-patterns-java/raw/master/logo.png" height="300" height="auto"/> |
3 | 3 | <h1>Design Patterns in Java</h1>
|
4 | 4 |
|
5 | 5 | [](https://github.com/google/google-java-format)
|
6 | 6 | [](https://github.com/alexprut/design-patterns-java/blob/master/LICENSE)
|
7 |
| -[](https://travis-ci.org/alexprut/design-patterns-java) |
8 |
| -[](https://coveralls.io/r/alexprut/design-patterns-java?branch=staging) |
| 7 | +[](https://travis-ci.org/alexprut/design-patterns-java) |
| 8 | +[](https://coveralls.io/r/alexprut/design-patterns-java?branch=master) |
9 | 9 | <p>Classic OOP Design Patterns from <a href="https://en.wikipedia.org/?title=Design_Patterns">GoF</a>, implemented in Java.</p>
|
10 | 10 | </div>
|
11 | 11 | <br />
|
12 | 12 |
|
13 | 13 | Design Patterns Implemented
|
14 | 14 | ---------------------------
|
15 | 15 | #### Structural
|
16 |
| -* [Class Adapter](https://github.com/alexprut/design-patterns-java/tree/staging/src/main/java/design_patterns/structural/class_adapter) |
| 16 | +* [Class Adapter](https://github.com/alexprut/design-patterns-java/tree/master/src/main/java/design_patterns/structural/class_adapter) |
17 | 17 | — _allows classes with incompatible interfaces to work together by wrapping its own interface around that of an already existing class_
|
18 |
| -* [Object Adapter](https://github.com/alexprut/design-patterns-java/tree/staging/src/main/java/design_patterns/structural/object_adapter) |
19 |
| -* [Facade](https://github.com/alexprut/design-patterns-java/tree/staging/src/main/java/design_patterns/structural/facade) |
| 18 | +* [Object Adapter](https://github.com/alexprut/design-patterns-java/tree/master/src/main/java/design_patterns/structural/object_adapter) |
| 19 | +* [Facade](https://github.com/alexprut/design-patterns-java/tree/master/src/main/java/design_patterns/structural/facade) |
20 | 20 | — _provides a simplified interface to a large body of code_
|
21 |
| -* [Composite](https://github.com/alexprut/design-patterns-java/tree/staging/src/main/java/design_patterns/structural/composite) |
| 21 | +* [Composite](https://github.com/alexprut/design-patterns-java/tree/master/src/main/java/design_patterns/structural/composite) |
22 | 22 | — _composes zero-or-more similar objects so that they can be manipulated as one object_
|
23 |
| -* [Decorator](https://github.com/alexprut/design-patterns-java/tree/staging/src/main/java/design_patterns/structural/decorator) |
| 23 | +* [Decorator](https://github.com/alexprut/design-patterns-java/tree/master/src/main/java/design_patterns/structural/decorator) |
24 | 24 | — _dynamically adds/overrides behaviour in an existing method of an object_
|
25 |
| -* [Proxy](https://github.com/alexprut/design-patterns-java/tree/staging/src/main/java/design_patterns/structural/proxy) |
| 25 | +* [Proxy](https://github.com/alexprut/design-patterns-java/tree/master/src/main/java/design_patterns/structural/proxy) |
26 | 26 | — _provides a placeholder for another object to control access, reduce cost, and reduce complexity_
|
27 |
| -* [Flyweight](https://github.com/alexprut/design-patterns-java/tree/staging/src/main/java/design_patterns/structural/flyweight) |
| 27 | +* [Flyweight](https://github.com/alexprut/design-patterns-java/tree/master/src/main/java/design_patterns/structural/flyweight) |
28 | 28 | — _reduces the cost of creating and manipulating a large number of similar objects_
|
29 |
| -* [Bridge](https://github.com/alexprut/design-patterns-java/tree/staging/src/main/java/design_patterns/structural/bridge) |
| 29 | +* [Bridge](https://github.com/alexprut/design-patterns-java/tree/master/src/main/java/design_patterns/structural/bridge) |
30 | 30 | — _decouples an abstraction from its implementation so that the two can vary independently_
|
31 | 31 |
|
32 | 32 | #### Creational
|
33 |
| -* [Factory Method](https://github.com/alexprut/design-patterns-java/tree/staging/src/main/java/design_patterns/creational/factory_method) |
| 33 | +* [Factory Method](https://github.com/alexprut/design-patterns-java/tree/master/src/main/java/design_patterns/creational/factory_method) |
34 | 34 | — _creates objects without specifying the exact class to create_
|
35 |
| -* [Abstract Factory](https://github.com/alexprut/design-patterns-java/tree/staging/src/main/java/design_patterns/creational/abstract_factory) |
| 35 | +* [Abstract Factory](https://github.com/alexprut/design-patterns-java/tree/master/src/main/java/design_patterns/creational/abstract_factory) |
36 | 36 | — _groups object factories that have a common theme_
|
37 |
| -* [Prototype](https://github.com/alexprut/design-patterns-java/tree/staging/src/main/java/design_patterns/creational/prototype) |
| 37 | +* [Prototype](https://github.com/alexprut/design-patterns-java/tree/master/src/main/java/design_patterns/creational/prototype) |
38 | 38 | — _creates objects by cloning an existing object_
|
39 |
| -* [Singleton](https://github.com/alexprut/design-patterns-java/tree/staging/src/main/java/design_patterns/creational/singleton) |
| 39 | +* [Singleton](https://github.com/alexprut/design-patterns-java/tree/master/src/main/java/design_patterns/creational/singleton) |
40 | 40 | — _restricts object creation for a class to only one instance_
|
41 |
| -* [Builder](https://github.com/alexprut/design-patterns-java/tree/staging/src/main/java/design_patterns/creational/builder) |
| 41 | +* [Builder](https://github.com/alexprut/design-patterns-java/tree/master/src/main/java/design_patterns/creational/builder) |
42 | 42 | — _constructs complex objects by separating construction and representation_
|
43 | 43 |
|
44 | 44 | #### Behavioral
|
45 |
| -* [Template Method](https://github.com/alexprut/design-patterns-java/tree/staging/src/main/java/design_patterns/behavioral/template_method) |
| 45 | +* [Template Method](https://github.com/alexprut/design-patterns-java/tree/master/src/main/java/design_patterns/behavioral/template_method) |
46 | 46 | — _defines the skeleton of an algorithm as an abstract class, allowing its subclasses to provide concrete behavior_
|
47 |
| -* [Strategy](https://github.com/alexprut/design-patterns-java/tree/staging/src/main/java/design_patterns/behavioral/strategy) |
| 47 | +* [Strategy](https://github.com/alexprut/design-patterns-java/tree/master/src/main/java/design_patterns/behavioral/strategy) |
48 | 48 | — _allows one of a family of algorithms to be selected on-the-fly at runtime_
|
49 |
| -* [State](https://github.com/alexprut/design-patterns-java/tree/staging/src/main/java/design_patterns/behavioral/state) |
| 49 | +* [State](https://github.com/alexprut/design-patterns-java/tree/master/src/main/java/design_patterns/behavioral/state) |
50 | 50 | — _allows an object to alter its behavior when its internal state changes_
|
51 |
| -* [Command](https://github.com/alexprut/design-patterns-java/tree/staging/src/main/java/design_patterns/behavioral/command) |
| 51 | +* [Command](https://github.com/alexprut/design-patterns-java/tree/master/src/main/java/design_patterns/behavioral/command) |
52 | 52 | — _creates objects which encapsulate actions and parameters_
|
53 |
| -* [Observer](https://github.com/alexprut/design-patterns-java/tree/staging/src/main/java/design_patterns/behavioral/observer) |
| 53 | +* [Observer](https://github.com/alexprut/design-patterns-java/tree/master/src/main/java/design_patterns/behavioral/observer) |
54 | 54 | — _is a publish/subscribe pattern which allows a number of observer objects to see an event_
|
55 |
| -* [Mediator](https://github.com/alexprut/design-patterns-java/tree/staging/src/main/java/design_patterns/behavioral/mediator) |
| 55 | +* [Mediator](https://github.com/alexprut/design-patterns-java/tree/master/src/main/java/design_patterns/behavioral/mediator) |
56 | 56 | — _allows loose coupling between classes by being the only class that has detailed knowledge of their methods_
|
57 |
| -* [Memento](https://github.com/alexprut/design-patterns-java/tree/staging/src/main/java/design_patterns/behavioral/memento) |
| 57 | +* [Memento](https://github.com/alexprut/design-patterns-java/tree/master/src/main/java/design_patterns/behavioral/memento) |
58 | 58 | — _provides the ability to restore an object to its previous state (undo)_
|
59 |
| -* [Iterator](https://github.com/alexprut/design-patterns-java/tree/staging/src/main/java/design_patterns/behavioral/iterator) |
| 59 | +* [Iterator](https://github.com/alexprut/design-patterns-java/tree/master/src/main/java/design_patterns/behavioral/iterator) |
60 | 60 | — _accesses the elements of an object sequentially without exposing its underlying representation_
|
61 |
| -* [Visitor](https://github.com/alexprut/design-patterns-java/tree/staging/src/main/java/design_patterns/behavioral/visitor) |
| 61 | +* [Visitor](https://github.com/alexprut/design-patterns-java/tree/master/src/main/java/design_patterns/behavioral/visitor) |
62 | 62 | — _separates an algorithm from an object structure by moving the hierarchy of methods into one object_
|
63 |
| -* [Chain of Responsability](https://github.com/alexprut/design-patterns-java/tree/staging/src/main/java/design_patterns/behavioral/chain_of_responsibility) |
| 63 | +* [Chain of Responsability](https://github.com/alexprut/design-patterns-java/tree/master/src/main/java/design_patterns/behavioral/chain_of_responsibility) |
64 | 64 | — _delegates commands to a chain of processing objects_
|
65 | 65 |
|
66 | 66 | License
|
|
0 commit comments