디자인패턴 요약. 알기 쉽게
2021. 1. 14. 15:19모든 디자인패턴은 해결하고자 하는 문제가 있음. 각각의 디자인패턴이 탄생하게된 배경과 실제에서 어떻게 쓰이는 지를 아는 것도 중요함.(장점, 어떻게 구성하는지도 중요하지만)
생성 패턴 : 객체를 어떻게 생성해야할까.
구조 패턴 : 객체를 어떻게 포함, 사용, 상속, 구현해야할까.
행동 패턴 : 객체의 메서드에 따라서 어떻게 설계해야할까.
생성 패턴
Factory Methods
객체 생성은 Factory method에게 맞겨. 너가 전략(매개변수)에 따라 다른 객체를 생성할 수도 있을거 같으니까.
Single tone
객체 생성은 단 하나로 만들고 싶으면 이 패턴을 써. 생성자로 호출하는게 아니라 메서드로 객체를 얻어야할거야.
구조 패턴
Adapter
아래의 패턴임.
Composite
컴퓨터에 들어가있는 마우스, 키보드, 스피커 이런 부품들을 하나로 추상화해! 그리고 그걸 구성하는 컴퓨터는 그 추상화한 인터페이스를 배열로 가지게 되면, 나중에 유지보수하기가 쉬워질거야.
Facade
여러 개의 서브클래스들을 캡슐화하여 하나의 인터페이스로 만들자.
(나중에 서브시스템 각각 모두가 변경할 수고를 덜어준다)
(한 Facade는 제 3의 API(Third Party API)같은 외부 라이브러리를 추상화 하는데도 사용됨.)
행위 패턴
Strategy
다양한 전략들을 쓰고 싶으면, 대장 인터페이스를 만들고 그거로 써. 다양한 전략들은 그 대장 인터페이스 상속받고.
출처 (도움을 주신 분들)
gmlwjd9405.github.io/2018/08/07/factory-method-pattern.html
퍼사이드 패턴 : imasoftwareengineer.tistory.com/29
어댑터 패턴 : jusungpark.tistory.com/22
컴포지트 패턴 : gmlwjd9405.github.io/2018/08/10/composite-pattern.html
'소프트웨어(Software)' 카테고리의 다른 글
Framework와 의존성 주입 (0) | 2021.01.14 |
---|---|
라이브러리(Library)와 프레임워크(Framework)의 차이점 (0) | 2021.01.14 |
UML Class diagram(클래스 다이어그램 규칙) (0) | 2021.01.14 |
UML (Unified Modeling Language) 이란? (0) | 2021.01.14 |
[Clean Architecture] SOLID 원칙 (객체지향 설계원칙) (0) | 2021.01.13 |