디자인 패턴이란?
- 소프트웨어를 설계할 때 특정 맥락에서 자주 발생하는 고질적인 문제들이 또 발생했을 때 재사용할 할 수있는 훌륭한 해결책
디자인 패턴의 종류
생성 패턴
이름 | 설명 |
추상 팩토리 |
구체적인 클래스에 의존 X 인터페이스를 통해 서로 연관 의존하는 그룹으로 생성 및 추상적으로 표현 |
빌더 | 작게 분리된 인스턴스를 건축하듯이 조합하여 객체 생성 |
팩토리 메소드 | 객체 생성을 서브 클래스에서 처리하도록 분리하여 캡슐화한 패턴 |
프로토타입 | 원본 객체를 복제하는 방법으로 객체를 생성 |
싱글톤 | 하나의 객체를 생성하면 생성된 객체를 어디서든 참조할수 있지만 여러 프로세스가 동시에 참조할수 없다 |
구조 패턴
이름 | 설명 |
어댑터 | 호환성이 없는 클래스들의 인터페이스를 다른 클래스가 이용할수있도록 변환 |
브리지 | 구현부에서 추상층을 분리하여 서로가 독립적으로 확장할 수있도록 구성 |
컴포지트 | 여러 객체를 가진 복합 객체와 단일 객체를 구분 없이 다루고자 할때 사용하는 패턴 |
데코레이터 | 객체간의 결합을 통해 능동적으로 기능들을 확장할 수 있는 패턴 |
퍼싸드 | 복잡한 서브 클래스들을 피해 더 상위에 인터페이스를 구성 |
플라이웨이트 | 인스턴스가 필요할때마다 매번 생성 안하고 가능한 한 공유해서 사용함으로써 메모리 절약 |
프록시 | 접근이 어려운 객체와 여기에 연결하려는 객체 사이에서 인터페이스 역할을 수행 |
행위 패턴
이름 | 설명 |
책임 연쇄 | 요청을 처리할 수 있는 객체가 둘이상 존재하여 한객체가 처리하지 못하면 다음객체로 넘어가는 형태 |
커맨드 | 요청을 객체의 형태로 캡슐화하여 재이용 및 취소 |
인터프리터 | 언어에 문법표현을 정의 |
반복자 | 자료 구조와 같이 접근이 잦은 객체에 대해 동일한 인터페이스를 사용하도록 하는 패턴 |
중재자 | 수많은 객체들간의 복잡한 상호작용을 캡슐화 |
메멘토 | 특정 시점에서의 객체 내부 상태를 객체화 |
옵서버 | 한 객체의 상태가 변화되면 객체에 상속되어있는 다른 객체들에게 변화된 상태 전달 |
상태 | 객체의 상태에 따라 동일한 동작을 다르게 처리해야될때 사용 |
전략 | 동일한 계열의 알고리즘들을 개별적으로 캡슐화 |
템플릿 메소드 | 상위 클래스에서 골격을 정의, 하위클래스에서 세부처리 |
방문자 | 각 클래스들의 데이터 구조에서 처리기능을 분리하여 별도의 클래스로 구성하는 패턴 |
'IT 용어 정리' 카테고리의 다른 글
JSON과 XML이란? (0) | 2020.03.10 |
---|---|
소프트웨어 개발비용 산정기법이란? (0) | 2020.03.09 |
형상관리란? (0) | 2020.03.03 |
소프트웨어 생명주기란? (0) | 2020.03.02 |
배치 프로그램과 배치 스케줄러란? (0) | 2020.02.28 |