Skip to content

Commit 92a1ee4

Browse files
committed
readme
1 parent 87fd7c7 commit 92a1ee4

File tree

1 file changed

+82
-9
lines changed

1 file changed

+82
-9
lines changed

README.md

Lines changed: 82 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,20 @@ public class Main {
1010

1111
System.out.println("We are creational patterns!");
1212

13-
SplitHelloWorldFactory splitHelloWorldFactory = AbstractFactory.select(AbstractFactory.Type.DesignPattern);
14-
HelloWorld abstractFactoryHelloWorld = new SplitHelloWorld(splitHelloWorldFactory.createHelloWorldSlogan(),
15-
splitHelloWorldFactory.createHelloWorldTarget());
13+
System.out.println("1. Abstract Factory: ");
14+
15+
SplitHelloWorldFactory abstractFactory = AbstractFactory.select(AbstractFactory.Type.DesignPattern);
16+
HelloWorld abstractFactoryHelloWorld = new SplitHelloWorld(abstractFactory.createHelloWorldInterjection(),
17+
abstractFactory.createHelloWorldObject());
1618
System.out.println(abstractFactoryHelloWorld.helloWorld());
1719

20+
System.out.println("2. Builder: ");
1821
HelloWorld builderHelloWorld = HelloWorldBuilder.builder()
19-
.slogan("Hello")
20-
.target("Builder").getHelloWorld();
22+
.interjection("Hello")
23+
.object("Builder").getHelloWorld();
2124
System.out.println(builderHelloWorld.helloWorld());
2225

26+
System.out.println("3. Factory Method: ");
2327
/**
2428
* Difference between "abstract factory" and "factory method" is the abstracting point:
2529
* 1. Abstracting point of abstract factory is factory.
@@ -29,36 +33,105 @@ public class Main {
2933
HelloWorld factoryMethodHelloWorld = factoryMethodHelloWorldFactory.createHelloWorld();
3034
System.out.println(factoryMethodHelloWorld.helloWorld());
3135

36+
System.out.println("4. Prototype: ");
3237
HelloWorld prototypeHelloWorld = HelloWorldPrototype.PROTOTYPE.clone();
3338
System.out.println(prototypeHelloWorld.helloWorld());
3439

40+
System.out.println("5. Singleton: ");
3541
HelloWorld singletonHelloWorld = HelloWorldSingleton.instance();
3642
System.out.println(singletonHelloWorld.helloWorld());
3743

44+
System.out.println("====================================");
3845
System.out.println("We are structural patterns!");
3946

47+
System.out.println("6. Adapter: ");
4048
HelloWorld adapterHelloWorld = new HelloWorldAdapter(new HelloAdapterDesignPattern());
4149
System.out.println(adapterHelloWorld.helloWorld());
4250

51+
System.out.println("7. Bridge: ");
4352
HelloWorld bridgeHelloWorld = new HelloWorldBridge(new DesignPatternWorldImpl());
4453
//leave bridgeHelloWorld' output to compositeHelloWorld
4554

55+
System.out.println("8. Composite: ");
4656
HelloWorld compositeHelloWorld = new CompositeHelloWorld(bridgeHelloWorld, new CompositeHelloWorld.DefaultHelloWorld());
4757
System.out.println(compositeHelloWorld.helloWorld());
4858

49-
HelloWorldDecorator helloWorldDecorator = new HelloWorldDecorator(new HelloWorldDecorator.DefaultHelloWorld());
50-
System.out.println(helloWorldDecorator.helloDecorator());
59+
System.out.println("9. Decorator: ");
60+
HelloWorldDecorator decoratorHelloWorld = new HelloWorldDecorator(new HelloWorldDecorator.DefaultHelloWorld());
61+
System.out.println(decoratorHelloWorld.helloDecorator());
5162

63+
System.out.println("10. Facade: ");
5264
HelloWorld facadeHelloWorld = HelloWorldFacade.instance().facadeHelloWorld();
5365
System.out.println(facadeHelloWorld.helloWorld());
5466

67+
System.out.println("11. Flyweight: ");
5568
HelloWorld flyWeightHelloWorld = HelloWorldFlyWeightFactory.instance().createHelloWorld("Hello Flyweight!");
5669
System.out.println(flyWeightHelloWorld.helloWorld());
5770

58-
HelloWorldProxy helloWorldProxy = new HelloWorldProxy(new HelloWorldProxy.DefaultHelloWorld());
59-
System.out.println(helloWorldProxy.helloWorld());
71+
System.out.println("12. Proxy: ");
72+
HelloWorld proxyHelloWorld = new HelloWorldProxy(new HelloWorldProxy.DefaultHelloWorld());
73+
System.out.println(proxyHelloWorld.helloWorld());
6074

75+
System.out.println("====================================");
6176
System.out.println("We are behavioral patterns!");
77+
78+
System.out.println("13. Chain of Responsibility: ");
79+
HelloWorldHandler helloWorldChainOfResponsibility = new HelloWorldInterjectionHandler().setNext(new HelloWorldObjectHandler());
80+
System.out.println(helloWorldChainOfResponsibility.helloWorld());
81+
82+
System.out.println("14. Command: ");
83+
Command helloWorldCommand = new HelloWorldPrintCommand();
84+
helloWorldCommand.execute();
85+
86+
System.out.println("15. Interpreter: ");
87+
HelloWorldInterpreter helloWorldInterpreter = new HelloWorldInterpreter();
88+
helloWorldInterpreter.interpret("println('Hello Interpreter!')");
89+
90+
System.out.println("16. Iterator: ");
91+
HelloWorldCharacterIterator helloWorldCharacterIterator = new HelloWorldCharacterIterator("Hello Iterator!".toCharArray());
92+
while (helloWorldCharacterIterator.hasNext()) {
93+
System.out.print(helloWorldCharacterIterator.next());
94+
}
95+
System.out.println();
96+
97+
System.out.println("17. Mediator: ");
98+
HelloWorldInterjection helloWorldInterjection = new HelloWorldInterjection();
99+
HelloWorldObject helloWorldObject = new HelloWorldObject();
100+
HelloWorldMediator helloWorldMediator = new HelloWorldMediator(helloWorldInterjection, helloWorldObject);
101+
helloWorldInterjection.setHelloWorldMediator(helloWorldMediator);
102+
helloWorldObject.setHelloWorldMediator(helloWorldMediator);
103+
System.out.println(helloWorldObject.helloWorld());
104+
105+
System.out.println("18. Memento: ");
106+
HelloWorldMementoOriginator helloWorldMementoOriginator = new HelloWorldMementoOriginator();
107+
HelloWorldMementoOriginator.Memento memento = helloWorldMementoOriginator.set("Hello Memento!").saveToMemento();
108+
helloWorldMementoOriginator.set("Hello Whatever!");
109+
helloWorldMementoOriginator.restoreFromMemento(memento);
110+
System.out.println(helloWorldMementoOriginator.helloWorld());
111+
112+
System.out.println("19. Observer: ");
113+
Subject subject = new Subject().attach(new HelloWorldObserver());
114+
subject.notifyObservers();
115+
116+
System.out.println("20. State: ");
117+
HelloWorldStateContext helloWorldStateContext = new HelloWorldStateContext();
118+
HelloWorld stateHelloWorld = helloWorldStateContext.appendWord("Hello").appendWord("State");
119+
System.out.println(stateHelloWorld.helloWorld());
120+
121+
System.out.println("21. Strategy: ");
122+
HelloWorldStrategyContext helloWorldStrategyContext = new HelloWorldStrategyContext(new DesignPatternHelloWorldStrategy());
123+
System.out.println(helloWorldStrategyContext.helloWorld());
124+
125+
System.out.println("22. Template Method: ");
126+
HelloWorld templateMethodHelloWorld = new TemplateMethodHelloWorld();
127+
System.out.println(templateMethodHelloWorld.helloWorld());
128+
129+
System.out.println("23. Visitor: ");
130+
HelloWorldCharacterElements helloWorldCharacterElements = new HelloWorldCharacterElements("Hello Visitor!".toCharArray());
131+
HelloWorldCharacterVisitor helloWorldCharacterVisitor = new HelloWorldCharacterVisitor();
132+
helloWorldCharacterElements.accept(helloWorldCharacterVisitor);
133+
System.out.println(helloWorldCharacterVisitor.helloWorld());
134+
62135
}
63136
}
64137
```

0 commit comments

Comments
 (0)