μ¬κΈ°μλ μλ¬Έμ€ Suggest Navigation μ λν΄ λ²μ & μ 리
Suggested Navigation - ν¨ν΄ νμ΅ μμμ λν΄μ ¶
DesignPatternsλ‘ Pattern μ€ν°λλ₯Ό μ²μ μμν λ 보면, 23κ°μ Patternλ€μ navigate ν λ°©ν₯μ κ²°μ ν λ§ν λλ ·ν κΈ°μ€μ΄ μμμ μ μ μλ€. μ΄ μ±
μ Patternλ€μ Creational, Structural, Behavioral λΆλ₯λ‘ λλμ΄μ Έ μλ€. μ΄λ¬ν λΆλ₯λ€μ κ°κ° λ€λ₯Έ μ±μ§λ€μ Patternλ€μ 빨리 μ°Ύλλ° λμμ μ£ΌκΈ΄ νμ§λ§, ν¨ν΄μ 곡λΆν λ κ·Έ κ³΅λΆ μμμ λν΄μλ ꡬ체μ μΈ λμμ μ£Όμ§ λͺ»νλ€.
Patternλ€μ κ°κ° λ
립μ μΌλ‘ μ°μ΄λ κ²½μ°λ νμΉ μλ€. μλ₯Ό λ€λ©΄, IteratorPatternμ μ’
μ’
CompositePattern κ³Ό κ°μ΄ μ°μ΄κ³ , ObserverPatternκ³Ό MediatorPatternλ€μ μ ν΅μ μΈ κ²°ν©κ΄κ³λ₯Ό νμ±νλ©°, SingletonPatternμ AbstractFactoryPatternμ κ°μ΄ μ°μΈλ€. Patternλ€λ‘ λμμΈκ³Ό νλ‘κ·Έλλ°μ μμνλ €κ³ ν λμ, ν¨ν΄μ μ¬μ©νλλ° μμ΄μ μ€μ μ μΈ κΈ°μ μ μ΄λ»κ² κ° ν¨ν΄λ€μ μ‘°ν©ν΄μΌ ν κ²μΈκ°μ λν΄ μλ κ²μμ λ°κ²¬νκ² λ κ²μ΄λ€.
DesignPatterns μ μ μλ€μ Patternλ€κ°μ μ°κ²°κ΄κ³λ€μ μ μνμ§λ§, μ΄κ²μ΄ λν Patternλ€μ λν navigationμ΄ λμ§λ λͺ»νλ€. μ±
μ λ°μ κ±Έμ³ λ§μ ν¨ν΄λ€μ΄ μ°κ²° κ΄κ³λ₯Ό 보μ¬μ£Όλ©°, λν κ·Έκ²μ λ€λ₯Έ ν¨ν΄λ€ νμ΅νκΈ° μ΄μ μ 곡λΆνλλ° λμμ μ£ΌκΈ°λ νλ€. κ·Έλ¦¬κ³ μ΄λ€ Patternλ€μ λ€λ₯Έ ν¨ν΄λ€μ λΉν΄ λ 볡μ‘νκΈ°λ νλ€.
μ¬λ¬ν΄κ° μ§λ μ§κΈ, DPSGλ 23μ£Ό κΈ°κ°μ patternλ€μ 곡λΆνλ μ€ν°λ κ·Έλ£Ήλ€μ κ°μ Έμλ€. κ°κ°μ κ·Έλ£Ήλ€μ μ€ν°λ κ·Έλ£Ήμ μν navigation μ λν΄ μ€ννκ³ , ν λ‘ νκ³ , μμ νλ€. μ¬κΈ°μ μ μλ navigationμ λ§€ μλ‘μ΄ μ€ν°λ κ·Έλ£Ήλ€μκ² μ΄μ©λλ€. μ¬κΈ°μ μ μλ navigationμ Pattern μ΄μ¬μλ€μκ² λ μ§νλ‘κ² νλμ ν¨ν΄μμ λ€λ₯Έ ν¨ν΄μΌλ‘ μ΄λνκ²λ λμμ€ κ²μ΄λ©°, ν¨μ¨μ μΌλ‘ 23κ°μ Patternλ€μ ν°λνλλ° λμμ μ€ κ²μ΄λ€. λ¬Όλ‘ μ΄ navigationμ κ³μ κ°μ ν΄ λκ° κ²μ΄λ€. κ·Έλ¦¬κ³ λΉμ μ΄ μ μνλ κ°μ μ±
λν νμνλ€.
DesignPatterns Navigation ¶
Factory Method - Creational ¶
FactoryMethodPattern λ‘ μμνλΌ. μ΄ ν¨ν΄μ λ€λ₯Έ ν¨ν΄λ€μ μ λ°μ μΌλ‘ μ¬μ©λλ€.
Strategy - Behavioral ¶
StrategyPattern λν μ±
μ λ°μ κ±Έμ³ λΉλ²νκ² μ΄μ©λλ€. μ΄ ν¨ν΄μ λν΄ μΌμ° μμλ μΌλ‘μ¨, λ€λ₯Έ ν¨ν΄μ μ΄ν΄νλλ° λμμ μ€ κ²μ΄λ€.
Decorator - Structural ¶
"skin" vs "guts" μ λν ν λ‘ μ StrategyPattern μ DecoratorPattern λ₯Ό ꡬλ³νλ μ’μ μκ° λ κ²μ΄λ€.
Composite - Structural ¶
CompositePatternμ μ¬λ¬λΆλΆμμ λνλλ©°, IteratorPattern, ChainOfResponsibilityPattern, InterpreterPattern, VisitorPattern μμ μ’
μ’
μ°μΈλ€.
Iterator - Behavioral ¶
Template Method - Behavioral ¶
μμμμ IteratorPattern μ μμ μ½λμμμ "Traverse" λ TemplateMethodPattern μ μμ΄λ€. μ΄ ν¨ν΄μ StrategyPattern κ³Ό FactoryMethodPattern λ₯Ό 보좩ν΄μ€λ€.
Abstract Factory - Creational ¶
AbstractFactoryPatternμ λλ²μ§Έλ‘ μ¬μ΄ creational Patternμ΄λ€. μ΄ ν¨ν΄μ λν FactoryMethodPatternλ₯Ό 보κ°νλλ° λμμ μ€λ€.
Builder - Creational ¶
Singleton - Creational ¶
SingletonPatternμ μ’
μ’
AbstractFactoryPattern μ λ§λλλ° μ΄μ©λλ€. (Related Patterns μ°Έμ‘°)
Proxy - Structural ¶
Proxy κ° μ΄λ»κ² objectμ λν accessλ₯Ό control νλμ§ κ³΅λΆνλΌ. μ΄ ν¨ν΄μ λ€μ AdapterPatternμ μ§μ μ μΌλ‘ μ΄λμ΄λΈλ€.
Adapter - Structural ¶
AdapterPatternμ DecoratorPattern, ProxyPattern, κ·Έλ¦¬κ³ λ€μ μ΄μ΄μ§λ BridgePatternμ λν΄ νμ΅μκ° μκ³ μλ μ§μκ³Ό λΉκ΅λμ΄μ§λ€.
Bridge - Structural ¶
μ΅μ’
μ μΌλ‘, νμ΅μλ μ΄λ»κ² BridgePatternμ΄ AdapterPattern κ³Ό ProxyPattern κ³Ό λ€λ₯Έμ§ 곡λΆνκ² λλ€.
Mediator - Behavioral ¶
ObserverPattern κ³Ό Model-View-Controller (MVC) Design μ μ΄ν΄νκΈ° μν μ€λΉλ¨κ³λ‘ MediatorPatternμ 곡λΆνλ€.
Observer - Behavioral ¶
κ³ μ μ μΈ MVC Design μ ꡬννκΈ° μν΄ μ΄λ»κ² ObserverPatternμ μν΄ MediatorPattern μ΄ μ΄μ©λλμ§ λ°κ²¬νλΌ.
Chain of Responsibility - Behavioral ¶
ObserverPattern κ³Ό MediatorPattern λ€μ μ΄μ©ν messageμ μ λ¬κ΄κ³λ₯Ό κ΄μ°°νλ©΄μ, ChainOfResponsibilityPattern μ message handling κ³Ό λΉκ΅ & λμ‘°ν μ μλ€.
Memento - Behavioral ¶
μ΄ Patternμ λ€μμ CommandPattern μμ undo μ redoμ ꡬνλΆλΆκ³Ό μ΄μ΄μ§λ€.
Command - Behavioral ¶
Prototype - Creational ¶
μλ§λ κ°μ₯ 볡μ‘ν creational pattern μΌ κ²μ΄λ€. PrototypePattern μ μ’
μ’
CommandPattern κ³Ό κ°μ΄ μ΄μ©λλ€.
State - Behavioral ¶
objectμ νλ λ³νμ λν λ λ€λ₯Έ λ°©λ²μΌλ‘ StatePattern μ 곡λΆν μ μμ κ²μ΄λ€.
Visitor - Behavioral ¶
Flyweight - Structural ¶
κ°μ₯ 볡μ‘ν Patternμ€ νλμ΄λ€. μ΄ Patternμ μ΄μ© μμ λ λ€μ ν¨ν΄μΈ InterpreterPattern μμ μμ λλ€.
Interpreter - Behavioral ¶
InterpreterPattern μ 볡μ‘νλ€. μ΄ Patternμ FlyweightPattern μ VisitorPattern κ³Ό κ΄κ³μμΌλ©°, μ΄ν΄λ₯Ό λλλ€.
Facade - Structural ¶
κ°μ₯ λ§μ§λ§μΌλ‘ μ½μ Pattern μ FacadePattern μ΄λ€. μ΄ Patternμ InterpreterPattern μ μμ μ½λμ κ·Έ μ£Όμ κ° λΉμ·νλ―λ‘, InterpreterPattern λ€μμ μ΄μ΄μ§λ κ²μ΄ μ μ νλ€.