본문 바로가기

객체지향 디자인 패턴

소프트웨어 공학시간에 살펴본 몇몇 디자인 패턴의 간단한 정리


기존에 사용중인 입력장치(이미있는것)와의 인터페이스 작동 방식이 호환되지(자신이 원하는것) 않아 이를 변환할 수 있는 변환기 역할의 중간 매개체 클래스를 만들어야 한다. =어댑터패턴(=이미 있는 것을 자신이 원하는 방식으로 바꾸어 쓸 수 있게 해주는 패턴)

도로를 통제하기 위해서는 기본적으로 신호등 기능이 필요하지만 그 외에 변경 차선, 차로의 등, 횡단보도 신호, 교통량 등을 모두 조합하여 통제할 수 있는 클래스를 만들어야 한다. =데코레이션 패턴

데이터집합에 순차적인 접근 또는 순회를 지원하여 기본표현(리스트, 스택, 트리등)이 노출되지 않으면서 행동할 수 있도록 접근기능과 자료구조를 분리한다 =반복자 패턴

현재 상태를 파악하고 그에 따른 객체의 동작이 달라야 하기 때문에 맥락과 상태를 별도로 구현하여 결합해야 한다=상태 패턴

어느 한 외부 객체의 상태 변화에 따라 즉시 감지하여 상속되어 있거나 의존 관계에 있는 객체들 간 서로 통신해야 한다 = 옵저버 패턴

객체를 만들 수 있는 해당 객체 전용생성이 가능한 인터페이스를 만들어야 한다  =팩토리 패턴

다수의 객체 생성이 필요하기 때문에 객체에 대한 생성 권한을 팩토리 객체가 아닌 특정 객체에 여러 종류의 생성이 가능하게 해야 한다 = 추상팩토리 패턴

생성자가 여러번 호출하더라도 실제로 생성되는 객체는 무조건 하나의 인스턴스만 만들어야 한다= 싱글톤 패턴