JAVA/개념

디자인 패턴이란?

ucong 2021. 1. 19. 23:56

디자인 패턴(Design Pattern)

- 소프트웨어를 설계할 때 설계자로 부터 재사용이 가능한 설계는 선택하고, 재사용을 방해하는 설계는 배제하도록 도와주는 해결책

 

생성(Creational) 패턴 구조(Structural) 패턴 행동(Behavioral) 패턴
- 객체 생성에 관련된 패턴
- 객체의 생성과 조합을 캡슐화해 특정 객체가 생성되거나 변경되어도 프로그램에 영향을 크게 받지 않도록 유연성 제공



- 클래스와 객체를 더 큰 결과물로 합칠수 있는 구조로 설계
- 구조를 간결화하고 클래스와 객체 간의 상호관계 파악가능
- 클래스 상속과 컴포지션을 중시
ex) 서로 다른 인터페이스를 2개 지닌 객체를 묶어 단일 인터페이스 제공 or 객체들을 서로 묶어 새로운 기능을 제공
- 객체 간의 상호작용과 책임을 중시
- 객체는 상호작용하지만 느슨하게 결합되어야 한다.





- 싱글톤 (Signleton)
- 추상 팩토리 메소드 (Abstract Factory)
- 팩토리 메소드 (Factory Method)
- 빌더 (Builder)
- 프로토타입 (Prototype)






- 어댑터 (Adapter)
- 컴퍼지트 (Composite)
- 데코레이터 (Decorator)
- 퍼사드 (Facade)
- 플라이웨이트 (Flyweight)
- 프록시 (Proxy)
- 브리지 (Bridge)




- 커맨드 (Command)
- 인터프리터 (InterPreter)
- 이터레이터 (Iterator)
- 미디에이터 (Mediator)
- 메멘토 (Memento)
- 옵저버 (Observer)
- 스테이트 (State)
- 스트레티지 (Strategy)
- 템플릿 메소드 (Template Method)
- 비지터 (Visitor)
- 책임 연쇄 (Chain of Responsibility)

 

'JAVA > 개념' 카테고리의 다른 글

SMTP란?  (0) 2021.01.22
[ 디자인 패턴 ] 템플릿 메소드패턴이란?  (0) 2021.01.20
[ JSP ] JSTL 이란  (0) 2021.01.18
[ JSP ] EL이란?  (0) 2021.01.18
주요 프로그래밍 언어들의 탄생 히스토리  (0) 2021.01.17