λμμΈ ν¨ν΄
κ³Όκ±°μ μννΈμ¨μ΄ κ°λ° κ³Όμ μμ μΆμ λ λ Ένμ°μ μ΄λ¦μ λΆμ¬ μ΄νμ μ¬μ¬μ©νκΈ° μ’μ ννλ‘ νΉμ κ·μ½μ λ§λ€μ΄ μ 리ν κ²μ΄λ€.
κ°κΈ° λ€λ₯Έ μννΈμ¨μ΄ λͺ¨λμ΄λ κΈ°λ₯μ κ°μ§ μμ© μννΈμ¨μ΄ μμ€ν λ€μ κ°λ°ν λ μλ‘ κ³΅ν΅λλ μ€κ³ λ¬Έμ λ° ν΄κ²°μ± μ΄ μλ€. μ΄λ¬ν μ μ¬μ μ ν¨ν΄μ΄λΌκ³ νλ€. λμμΈ ν¨ν΄μ λͺ¨λμ μΈλΆνλ μν μ΄λ λͺ¨λ κ°μ μΈν°νμ΄μ€ ꡬν λ°©μμ μ€κ³ν λ μ°Έμ‘°ν μ μλ μ νμ μΈ ν΄κ²° λ°©μμ΄λ€.
GoF(Gang of Four) λμμΈ ν¨ν΄
1995λ 23κ° ν¨ν΄μ μλ‘ν <<'GoF'(Gang of Fours). Design Patterns: Elements of Reusable Object-Oriented Software>> λ Όλ¬Έμμ λμμΈ ν¨ν΄μ ꡬ체ννμλ€. λͺ©μ μ λ°λΌ μμ± ν¨ν΄ 5κ°, ꡬ쑰 ν¨ν΄ 7κ°, νμ ν¨ν΄ 11κ°λ‘ ꡬμ±λλ€.
λͺ©μ μ λ°λΌ
- κ°μ²΄μ μμ± κ³Όμ μ κ΄μ¬νλ μμ± ν¨ν΄
- κ°μ²΄μ ν©μ±μ κ΄μ¬νλ ꡬ쑰 ν¨ν΄
- κ°μ²΄κ° μνΈμμ©νλ λ°©λ²μ΄λ κ΄μ¬μ¬λ₯Ό λΆλ¦¬νλ λ°©λ²μ κ΄μ¬νλ νλ ν¨ν΄
λ²μμ λ°λΌ
- ν΄λμ€μ μλΈ ν΄λμ€ κ°μ κ΄λ ¨μ±μ λ€λ£¨λ©° μ»΄νμΌ νμμ μ μ μΌλ‘ κ²°μ λλ ν΄λμ€μ μ μ©νλ κ²½μ°
- κ°μ²΄ κ°μ κ΄λ ¨μ±μ λ€λ£¨κ³ λ°νμμ λ³κ²½λλ λμ μΈ μ±κ²©μ κ°μ§λ κ°μ²΄μ μ μ©νλ κ²½μ°
μμ± ν¨ν΄ (Creational)
- κ°μ²΄μ μΈμ€ν΄μ€ κ³Όμ μ μΆμννλ λ°©λ²μ΄λ€.
- κ°μ²΄μ μμ±κ³Ό μ°Έμ‘° κ³Όμ μ μΊ‘μννμ¬ κ°μ²΄κ° μμ±λκ±°λ λ³κ²½λμ΄λ νλ‘κ·Έλ¨ κ΅¬μ‘°μ μν₯μ λ°μ§ μλλ‘ νλ€.
ꡬ쑰 ν¨ν΄ (Structural)
- νλ‘κ·Έλ¨ λ΄μ μλ£κ΅¬μ‘° λλ μΈν°νμ΄μ€ ꡬ쑰 λ± νλ‘κ·Έλ¨μ ꡬ쑰λ₯Ό μ€κ³νλλ° νμ©νλ ν¨ν΄λ€μ΄λ€.
νμ ν¨ν΄ (Behavioral)
- λ°λ³΅μ μΌλ‘ μ¬μ©λλ κ°μ²΄λ€μ μνΈμμ©μ ν¨ν΄νν κ²μ΄λ€.
- κ²°ν©λλ₯Ό μ΅μννλ κ²μ μ€μ μ λλ€.
μμ± ν¨ν΄ | ꡬ쑰 ν¨ν΄ | νμ ν¨ν΄ |
μΆμ ν©ν 리 ν¨ν΄ (Abstract Factory) λΉλ ν¨ν΄ (Builder) ν©ν 리 λ©μλ ν¨ν΄ (Factory Method) νλ‘ν νμ ν¨ν΄ (Prototype) μ±κΈν΄ ν¨ν΄ (Singleton) |
μ΄λν° ν¨ν΄ (Adapter) λΈλ¦¬μ§ ν¨ν΄ (Bridge) μ»΄ν¬μ§νΈ ν¨ν΄ (Composite) λ°μ»€λ μ΄ν° ν¨ν΄ (Decorator) νΌμ¬λ ν¨ν΄ (Facade) νλΌμ΄μ¨μ΄νΈ ν¨ν΄ (Flyweight) νλ‘μ ν¨ν΄ (Proxy) |
μ±
μμ°μ ν¨ν΄ (Chain of Responsibility) 컀맨λ ν¨ν΄ (Command) μΈν°νλ¦¬ν° ν¨ν΄ (Interpreter) λ―Έλμμ΄ν° ν¨ν΄ (Mediator) λ©λ©ν ν¨ν΄ (Memento) μ΅μ λ² ν¨ν΄ (Observer) ν μ΄νΈ ν¨ν΄ (State) μ€νΈλ ν°μ§ ν¨ν΄ (Strategy) ν νλ¦Ώλ©μλ ν¨ν΄ (Template Method) λΉμ§ν° ν¨ν΄ (Visitor) |
μΆμ²
'κ°λ° ν > μλΉμ€ & μν€ν μ²' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
μμ± ν¨ν΄ (0) | 2022.10.28 |
---|---|
ν΄λΌμ°λ μ»΄ν¨ν κ³Ό IaaS/PaaS/SaaS (0) | 2022.05.01 |
DevOps (0) | 2022.03.23 |
νλμ¨μ΄ κ°μν μ’ λ₯ (0) | 2022.03.22 |
docker (0) | 2022.03.11 |
λκΈ