[디자인패턴] 디자인 패턴 (Design Patern)
디자인 패턴
-
자주 사용하는 설계 패턴을 정형화 해서 이를 유형별로 가장 최적의 방법으로 개발 할 수 있도록 정해둔 설계
-
알고리즘과 유사하지만, 명확하게 정답이 있는 형태 X, 프로젝트의 상황에 맞추어 적용 가능
-
디자인 패턴의 장점
-
개발자간의 원활한 소통
-
소프트웨어 구조 파악 용이
-
재사용을 통한 개발 시간 단축
-
설계 변경 요청에 대한 유연한 대처
-
요구사항 변경에 따른 소스코드 변경 최소화
-
-
디자인 패턴의 단점
-
객체지향 설계/구현 위주로 사용됨
-
초기 투자 비용 부담 (초기에 여러 구조를 설계하고 코딩해야 함)
-
생성 패턴
-
객체를 생성하는 것과 관련된 패턴
-
객체의 생성과 변경이 전체 시스템에 미치는 영향을 최소화 하고, 코드의 유연성을 높여줌
-
-
Factory Method
-
Singleton
-
Prototype
-
Builder
-
Abstract Factory
-
Chaining
-
구조 패턴
-
프로그램 내 자료구조나 인터페이스 구조 등 프로그램 구조를 설계하는데 활용 될 수 있는 패턴
-
클래스, 객체들의 구성을 통해 더 큰 구조를 만들 수 있게 해줌
-
큰 규모의 시스템에서는 많은 클래스들이 서로 의존성을 가짐 > 복잡한 구조를 개발 하기 쉽게 만들어 주고, 유지 보수 하기 쉽게 만들어줌
-
-
Adapter
-
Composite
-
Bridge
-
Decorator
-
Facade
-
Flyweight
-
Proxy
-
행위 패턴
-
반복적으로 사용되는 객체들의 상호작용을 패턴화한 것
-
클래스나 객체들이 상호작용하는 방법과 책임을 분산하는 방법 제공
-
행위 관련 패턴을 사용하여 독립적으로 일을 처리하고자 할 때 사용
-
-
Template Method
-
Interpreter
-
Iterator
-
Observer
-
Strategy
-
Visitor
-
Chain of reponsibility
-
Command
-
Mediator
-
State
-
Memento
-