@@ -45,16 +45,20 @@ public static void main(String[] args) throws InstantiationException, IllegalAcc
4545
4646 System .out .println ("We are creational patterns!" );
4747
48+ System .out .println ("1. Abstract Factory: " );
49+
4850 SplitHelloWorldFactory abstractFactory = AbstractFactory .select (AbstractFactory .Type .DesignPattern );
4951 HelloWorld abstractFactoryHelloWorld = new SplitHelloWorld (abstractFactory .createHelloWorldInterjection (),
5052 abstractFactory .createHelloWorldObject ());
5153 System .out .println (abstractFactoryHelloWorld .helloWorld ());
5254
55+ System .out .println ("2. Builder: " );
5356 HelloWorld builderHelloWorld = HelloWorldBuilder .builder ()
5457 .interjection ("Hello" )
5558 .object ("Builder" ).getHelloWorld ();
5659 System .out .println (builderHelloWorld .helloWorld ());
5760
61+ System .out .println ("3. Factory Method: " );
5862 /**
5963 * Difference between "abstract factory" and "factory method" is the abstracting point:
6064 * 1. Abstracting point of abstract factory is factory.
@@ -64,78 +68,100 @@ public static void main(String[] args) throws InstantiationException, IllegalAcc
6468 HelloWorld factoryMethodHelloWorld = factoryMethodHelloWorldFactory .createHelloWorld ();
6569 System .out .println (factoryMethodHelloWorld .helloWorld ());
6670
71+ System .out .println ("4. Prototype: " );
6772 HelloWorld prototypeHelloWorld = HelloWorldPrototype .PROTOTYPE .clone ();
6873 System .out .println (prototypeHelloWorld .helloWorld ());
6974
75+ System .out .println ("5. Singleton: " );
7076 HelloWorld singletonHelloWorld = HelloWorldSingleton .instance ();
7177 System .out .println (singletonHelloWorld .helloWorld ());
7278
79+ System .out .println ("====================================" );
7380 System .out .println ("We are structural patterns!" );
7481
82+ System .out .println ("6. Adapter: " );
7583 HelloWorld adapterHelloWorld = new HelloWorldAdapter (new HelloAdapterDesignPattern ());
7684 System .out .println (adapterHelloWorld .helloWorld ());
7785
86+ System .out .println ("7. Bridge: " );
7887 HelloWorld bridgeHelloWorld = new HelloWorldBridge (new DesignPatternWorldImpl ());
7988 //leave bridgeHelloWorld' output to compositeHelloWorld
8089
90+ System .out .println ("8. Composite: " );
8191 HelloWorld compositeHelloWorld = new CompositeHelloWorld (bridgeHelloWorld , new CompositeHelloWorld .DefaultHelloWorld ());
8292 System .out .println (compositeHelloWorld .helloWorld ());
8393
94+ System .out .println ("9. Decorator: " );
8495 HelloWorldDecorator decoratorHelloWorld = new HelloWorldDecorator (new HelloWorldDecorator .DefaultHelloWorld ());
8596 System .out .println (decoratorHelloWorld .helloDecorator ());
8697
98+ System .out .println ("10. Facade: " );
8799 HelloWorld facadeHelloWorld = HelloWorldFacade .instance ().facadeHelloWorld ();
88100 System .out .println (facadeHelloWorld .helloWorld ());
89101
102+ System .out .println ("11. Flyweight: " );
90103 HelloWorld flyWeightHelloWorld = HelloWorldFlyWeightFactory .instance ().createHelloWorld ("Hello Flyweight!" );
91104 System .out .println (flyWeightHelloWorld .helloWorld ());
92105
106+ System .out .println ("12. Proxy: " );
93107 HelloWorld proxyHelloWorld = new HelloWorldProxy (new HelloWorldProxy .DefaultHelloWorld ());
94108 System .out .println (proxyHelloWorld .helloWorld ());
95109
110+ System .out .println ("====================================" );
96111 System .out .println ("We are behavioral patterns!" );
97112
113+ System .out .println ("13. Chain of Responsibility: " );
98114 HelloWorldHandler helloWorldChainOfResponsibility = new HelloWorldInterjectionHandler ().setNext (new HelloWorldObjectHandler ());
99115 System .out .println (helloWorldChainOfResponsibility .helloWorld ());
100116
117+ System .out .println ("14. Command: " );
101118 Command helloWorldCommand = new HelloWorldPrintCommand ();
102119 helloWorldCommand .execute ();
103120
121+ System .out .println ("15. Interpreter: " );
104122 HelloWorldInterpreter helloWorldInterpreter = new HelloWorldInterpreter ();
105123 helloWorldInterpreter .interpret ("println('Hello Interpreter!')" );
106124
125+ System .out .println ("16. Iterator: " );
107126 HelloWorldCharacterIterator helloWorldCharacterIterator = new HelloWorldCharacterIterator ("Hello Iterator!" .toCharArray ());
108127 while (helloWorldCharacterIterator .hasNext ()) {
109128 System .out .print (helloWorldCharacterIterator .next ());
110129 }
111130 System .out .println ();
112131
132+ System .out .println ("17. Mediator: " );
113133 HelloWorldInterjection helloWorldInterjection = new HelloWorldInterjection ();
114134 HelloWorldObject helloWorldObject = new HelloWorldObject ();
115135 HelloWorldMediator helloWorldMediator = new HelloWorldMediator (helloWorldInterjection , helloWorldObject );
116136 helloWorldInterjection .setHelloWorldMediator (helloWorldMediator );
117137 helloWorldObject .setHelloWorldMediator (helloWorldMediator );
118138 System .out .println (helloWorldObject .helloWorld ());
119139
140+ System .out .println ("18. Memento: " );
120141 HelloWorldMementoOriginator helloWorldMementoOriginator = new HelloWorldMementoOriginator ();
121142 HelloWorldMementoOriginator .Memento memento = helloWorldMementoOriginator .set ("Hello Memento!" ).saveToMemento ();
122143 helloWorldMementoOriginator .set ("Hello Whatever!" );
123144 helloWorldMementoOriginator .restoreFromMemento (memento );
124145 System .out .println (helloWorldMementoOriginator .helloWorld ());
125146
147+ System .out .println ("19. Observer: " );
126148 Subject subject = new Subject ().attach (new HelloWorldObserver ());
127149 subject .notifyObservers ();
128150
151+ System .out .println ("20. State: " );
129152 HelloWorldStateContext helloWorldStateContext = new HelloWorldStateContext ();
130153 HelloWorld stateHelloWorld = helloWorldStateContext .appendWord ("Hello" ).appendWord ("State" );
131154 System .out .println (stateHelloWorld .helloWorld ());
132155
156+ System .out .println ("21. Strategy: " );
133157 HelloWorldStrategyContext helloWorldStrategyContext = new HelloWorldStrategyContext (new DesignPatternHelloWorldStrategy ());
134158 System .out .println (helloWorldStrategyContext .helloWorld ());
135159
160+ System .out .println ("22. Template Method: " );
136161 HelloWorld templateMethodHelloWorld = new TemplateMethodHelloWorld ();
137162 System .out .println (templateMethodHelloWorld .helloWorld ());
138163
164+ System .out .println ("23. Visitor: " );
139165 HelloWorldCharacterElements helloWorldCharacterElements = new HelloWorldCharacterElements ("Hello Visitor!" .toCharArray ());
140166 HelloWorldCharacterVisitor helloWorldCharacterVisitor = new HelloWorldCharacterVisitor ();
141167 helloWorldCharacterElements .accept (helloWorldCharacterVisitor );
0 commit comments