본문 바로가기

디자인 패턴(Design Pattern)3

GoF 23 디자인 패턴 구조 패턴 (Structural Patterns) 💡 구조 패턴은 구조를 유연하고 효율적으로 유지하면서 객체들과 클래스들을 더 큰 구조로 조립하는 방법 어댑터 패턴(Adapter) 호환되지 않는 인터페이스를 가진 객체들이 협업할 수 있도록 한다. 또는 Wrapper로도 불린다. 어댑터 패턴(Adapter) 브릿지 패턴(Bridge) 큰 클래스 또는 밀접하게 관련된 클래스들의 집합을 두 개의 개별 계층구조(추상화 및 구현)로 나눈 후 각각 독립적으로 개발할 수 있도록 한다. 브릿지 패턴 (Bridge) 복합체 패턴(Composite) 객체들을 트리 구조들로 구성한 후, 이러한 트리 구조들이 개별 객체들인 것처럼 작업할 수 있도록 하는 디자인 패턴이다. 복합체 패턴 (Composite) 데코레이터 패턴(De.. 2024. 2. 25.
SOLID 원칙 로버트 마틴이 자기 책에서 5가지 원칙들을 소개했음. 당연히 유연한 사고로 받아들여야지 원칙에 얽매이면 이상해진다. 단일책임 → 개방/폐쇄 → 리스코프 → 인터페이스 분리 Single Responsibility Principle (단일 책임 원칙) 클래스는 한 가지 이유로 변경되어야 한다. 각각의 클래스가 프로그램이 제공하는 기능의 한 부분을 책임지도록 하라. 그 후 이 책임을 완전히 캡슐화하여 클래스 내부에 숨겨라 해당 원칙의 주목적은 복잡성을 줄이는 것이다. Open/Closed Principle (개방/폐쇄 원칙) 클래스들은 확장에는 열려있어야 하지만 변경에는 닫혀 있어야 한다. 해당 원칙의 주목적은 새로운 기능을 구현할 때 기존 코드가 깨지지 않도록 하는 것이다. Open(개방) 예시 클래스를 확.. 2024. 2. 25.
디자인 패턴이란? 일종의 설계 기법이며, 설계 방법이다. 디자인 패턴은 소프트웨어 디자인 과정에서 자주 발생하는 문제들에 대한 전형적인 해결책이다. GoF(Gang of Four) 현재 사용되는 기본적인 23가지 디자인 패턴을 정리한 아저씨들 에릭 감마, 존 블리시디스, 랄프 존슨, 리처드 헬름 디자인 패턴의 분류 디자인 패턴은 복잡성, 상세도 및 설계 중인 전체 시스템 등의 적용 범위에 따라 분류된다. 모든 패턴은 패턴의 의도 또는 목적에 따라 분류할 수 있다. 이디엄(idiom) 가장 기본적인 하위 레벨의 패턴. (low-level pattrern) 일반적으로 하나의 프로그래밍 언어에만 해당함. 이디엄은 주어진 언어의 기능을 사용해서 컴포넌트들 혹은 컴포넌트들 간 관계의 특정 측면을 구현하는 방법을 서술한다. 아키텍처.. 2024. 2. 25.