IT Fundamental Concept/Design Pattern
-
Design Pattern - Creational PatternIT Fundamental Concept/Design Pattern 2022. 3. 14. 20:17
Object 생성에 관련된 패턴 입니다. 무엇을 만드는지 알지 못해도 객체를 생성하는 방법을 제공합니다. Concreate Class 보다도 Interface 기반으로 프로그래밍 하는 것이 필수적 입니다. By subclassing Factory Method By Object Composition Abstract Factory Builder Prototype 1. Factory Method 단점 한번에 하나의 전략만 장착이 가능하다. 2. Abstract Factory 단점 새로운 종류의 제품을 제공하기 어렵다. 새롭게 생성되는 제품은 추상 팩토리가 생성할 수 있는 제품 집합에만 고정되어 있기 때문이다. 만약 새로운 종류의 제품이 등장하면 팩토리의 구현을 변경해야 한다. 이는 추상 팩토리와 모든 서브클래..
-
Design Pattern - Structural PatternIT Fundamental Concept/Design Pattern 2022. 3. 2. 20:24
프로그램의 Organization에 관심을 갖습니다. 확실한 구조적 목적을 달성할 수 있도록 클래스를 Organize 합니다. 동적 모델을 변경하지 않고도 프로그램을 변경할 수 있습니다. 다른 객체에 대한 우회(Indirection)를 제공합니다. Adapter Bridge Proxy 다른 클래스의 인터페이스를 Wrapping 합니다. Facade Adapter 재귀를 구성합니다. Decorator Composite 1. Adaptor 호환되지 않는 인터페이스를 어뎁터를 통해 변환하여 함께 동작될 수 있도록 합니다. Client와 구현된 Adaptor가 Decouple되어 Adaptor가 변경되거나 추가되어도 Client는 수정할 필요가 없습니다. 2. Bridge 가운데 Bridge가 있고 좌측에는 A..
-
Design Pattern - Behavioral PatternIT Fundamental Concept/Design Pattern 2022. 3. 2. 20:20
프로그램의 Runtime Behaivor에 관심을 갖습니다. 객체가 수행하는 역할이나 이러한 객체들 간의 Interact하는 방법을 정의합니다. 1. 변하는 것을 Encapsulation 한다. Strategy State Mediator Iterator 2. 객체가 Argument로 사용된다. Visitor Command 3. Sender와 Receiver를 Decoupling 시킨다. Command Observer Mediator Chain of Responsibility 4. 그 외 Template Method Interpreter Memento 1. Strategy 제공 될 수 있는 각 Behaivor를 Encapsulation하고 Behaivor 별 확장이 용이하여 유지보수 성이 높으며, Comp..