본문 바로가기

Design Pattern

(3)
Composite pattern 컴포지트 패턴이란? 컴포지트 패턴(Composite pattern)이란 객체들의 관계를 트리 구조로 구성하여 부분-전체 계층을 표현하는 패턴으로, 사용자가 단일 객체와 복합 객체 모두 동일하게 다루도록 한다. 컴포지트 패턴 구성도 컴포지트 패턴을 사용하는 이유 상속의 한계 : 아키텍처가 거대해질 수록 예외 케이스가 늘어나 OCP가 지켜지지 않음 이러한 상속의 문제를 해결하기 위해 컴포넌트 조립식 프로그래밍 하기 위해 Composite pattern을 사용함 *ocp : 개방-폐쇄 원칙(OCP, Open-Closed Principle)은 '소프트웨어 개체(클래스, 모듈, 함수 등등)는 확장에 대해 열려 있어야 하고, 수정에 대해서는 닫혀 있어야 한다'는 프로그래밍 원칙이다. 예시 ) 컴퓨터에 추가 장치 지..
Singleton Pattern Singleton pattern이란 ? - 애플리케이션이 시작될 때 어떤 클래스가 최초 한번만 메모리를 할당하고(Static) 그 메모리에 인스턴스를 만들어 사용하는 디자인패턴. - 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나고 최초 생성 이후에 호출된 생성자는 최초에 생성한 객체를 반환한다. (자바에선 생성자를 private로 선언해서 생성 불가하게 하고 getInstance()로 받아쓰기도 함) Singleton pattern을 쓰는 이유 ? - 고정된 메모리 영역을 얻으면서 한번의 new로 인스턴스를 사용하기 대문에 메모리 낭비를 방지할 수 있음 - 싱글톤으로 만들어진 클래스의 인스턴스는 전역 인스턴스 이기 때문에 다른 클래스의 인스턴스 들이 데이터를 공유하기 쉽다 - DBCP와 같..
Strategy Pattern 1. Strategy Pattern 이란? -> 실행 중에 알고리즘을 선택할 수 있게 하는 디자인 패턴 -> 특정 계열의 알고리즘을 정의하고 각 알고리즘을 캡슐화하여, 이 알고리즘들이 해당 계열 안에서 교체가 가능하게 만든다. 2. 구조