본문 바로가기

IT 용어 정리

디자인 패턴이란?

디자인 패턴이란?

 

- 소프트웨어를 설계할 때 특정 맥락에서 자주 발생하는 고질적인 문제들이 또 발생했을 때 재사용할 할 수있는 훌륭한 해결책

 

디자인 패턴의 종류

생성 패턴

 

이름 설명
추상 팩토리

구체적인 클래스에 의존 X

인터페이스를 통해 서로 연관 의존하는 그룹으로 생성 및 추상적으로 표현

빌더 작게 분리된 인스턴스를 건축하듯이 조합하여 객체 생성
팩토리 메소드 객체 생성을 서브 클래스에서 처리하도록 분리하여 캡슐화한 패턴
프로토타입 원본 객체를 복제하는 방법으로 객체를 생성
싱글톤 하나의 객체를 생성하면 생성된 객체를 어디서든 참조할수 있지만 여러 프로세스가 동시에 참조할수 없다

구조 패턴

이름 설명
어댑터 호환성이 없는 클래스들의 인터페이스를 다른 클래스가 이용할수있도록 변환
브리지 구현부에서 추상층을 분리하여 서로가 독립적으로 확장할 수있도록 구성
컴포지트 여러 객체를 가진 복합 객체와 단일 객체를 구분 없이 다루고자 할때 사용하는 패턴
데코레이터 객체간의 결합을 통해 능동적으로 기능들을 확장할 수 있는 패턴
퍼싸드 복잡한 서브 클래스들을 피해 더 상위에 인터페이스를 구성
플라이웨이트 인스턴스가 필요할때마다 매번 생성 안하고 가능한 한 공유해서 사용함으로써 메모리 절약
프록시 접근이 어려운 객체와 여기에 연결하려는 객체 사이에서 인터페이스 역할을 수행

행위 패턴

이름 설명
책임 연쇄 요청을 처리할 수 있는 객체가 둘이상 존재하여 한객체가 처리하지 못하면 다음객체로 넘어가는 형태
커맨드 요청을 객체의 형태로 캡슐화하여 재이용 및 취소
인터프리터 언어에 문법표현을 정의
반복자 자료 구조와 같이 접근이 잦은 객체에 대해 동일한 인터페이스를 사용하도록 하는 패턴
중재자 수많은 객체들간의 복잡한 상호작용을 캡슐화
메멘토 특정 시점에서의 객체 내부 상태를 객체화
옵서버 한 객체의 상태가 변화되면 객체에 상속되어있는 다른 객체들에게 변화된 상태 전달
상태 객체의 상태에 따라 동일한 동작을 다르게 처리해야될때 사용
전략 동일한 계열의 알고리즘들을 개별적으로 캡슐화
템플릿 메소드 상위 클래스에서 골격을 정의, 하위클래스에서 세부처리
방문자 각 클래스들의 데이터 구조에서 처리기능을 분리하여 별도의 클래스로 구성하는 패턴

'IT 용어 정리' 카테고리의 다른 글

JSON과 XML이란?  (0) 2020.03.10
소프트웨어 개발비용 산정기법이란?  (0) 2020.03.09
형상관리란?  (0) 2020.03.03
소프트웨어 생명주기란?  (0) 2020.03.02
배치 프로그램과 배치 스케줄러란?  (0) 2020.02.28