Design Pattern μ΄λ?
κ°μ²΄ μ§ν₯ κ΄μ μμμ μ€λΈμ νΈμ μμ‘΄κ΄κ³λ₯Ό λ€λ£¨λ λ°©λ² μ΄λ€.
μ΄λ μν©μ λ°λ₯Έ μꡬμ¬νμ λ¬Έμ λ₯Ό λΉ λ₯΄κ² ν΄κ²°ν μ μλλ‘ μ€κ³λ₯Ό λμμ£Όλ©° λ°νμμμ λ°λμ μλ μμκ΄κ³λ³΄λ€ λ λμ μ΄λ€.
μ΄ Design Pattern μ Scope κ΄μ κ³Ό Purpose κ΄μ μ λ°λΌ λλκ² λλ©° ν΄λΉ κ΄μ μ λ°λΌ λμ± μΈλΆν λλ€.
μμ±κ΄λ ¨ ν¨ν΄
κ°μ²΄ μΈμ€ν΄μ€ μμ±μ μν ν¨ν΄
- ν©ν 리 λ©μλ (Factory Method)
- μ±κΈν€ (Singleton)
- μΆμ ν©ν 리
- νλ‘ν νμ
- λΉλ
ꡬ쑰κ΄λ ¨ ν¨ν΄
- μ΄λν° (Adapter)
- λ°μ½λ μ΄ν° (Decorator)
- νλ‘μ (Proxy)
- νΌμ¬λ (Fecade)
- μ»΄ν¬μ§νΈ
- λΈλ¦Ώμ§
νλκ΄λ ¨ ν¨ν΄
ν΄λμ€μ κ°μ²΄λ€μ΄ μνΈμμ©νλ λ°©λ² λ° μνμ λΆλ΄
- μΈν°ν리ν°
- ν νλ¦Ώ λ©μλ(Template Method)
- μ λ΅ (Strategy)
- νλ (State)
- λ°©λ¬Έμ (Visitor)
- 컀맨λ (Command)
- μνλ³κ²½
- μ΄ν°λ μ΄ν°
- λ―Έλμμ΄ν°
- λ©λ©ν
- νλΌμ΄μ¨μ΄νΈ
- μ΅μ λ²
ν΄λμ€μ κ°μ²΄λ€μ ꡬμ±μ ν΅ν΄μ λ ν° κ΅¬μ‘°λ‘ νμ₯ κ°λ₯ν ν¨ν΄
β Annotation ν©ν 리 β