본문 바로가기

Programming/DesignPattern

Adapter Pattern (어댑터 패턴) 1. 어댑터 패턴이란? 소프트웨어 디자인 패턴중 구조 패턴에 속하는 디자인 패턴입니다. Adapter Pattern은 클래스의 인터페이스를 사용자가 기대하는 다른 인터페이스로 변환하는 패턴으로, 호환성이 없는 인터페이스 때문에 함께 동작할 수 없는 클래스들이 함께 작동하도록 해줍니다. 주로 기존 클래스의 소스 코드를 수정하지 않고 다른 사용자와 함께 사용하는데 자주 사용됩니다. 대표적인 예로는 XML 문서의 Document Object Model 인터페이스를 나타낼 수 있는(can be displayed) 트리 구조로 변환하는 어댑터가 있습니다. 2. 어댑터 패턴의 종류 어댑터 패턴은 크게 다음의 두가지로 분류됩니다. 객체 어댑터 패턴 - 위임을 이용한 어댑터 패턴 클래스 어댑터 패턴 - 상속을 이용한 .. 더보기
Decorator Pattern (데코레이터 패턴) 1. 데코레이터 패턴이란? 소프트웨어 디자인 패턴중 구조 패턴에 속하는 디자인 패턴입니다. Decorator Pattern은 주어진 상황 및 용도에 따라 어떤 객체에 기능을 동적으로 덧붙이는 패턴으로, 서브 클래스를 이용해 기능을 유연하게 확장할 수 있습니다. 2. 데코레이터 패턴 구현 2.1 Component Interface(or Abstract Class) public interface Component { public void method(); ... } 2.2 ConcreteComponent Class public class ConcreteComponent implements Component { @Override public void method() { ... } ... } 2.3 Decora.. 더보기
Singleton Pattern (싱글톤 패턴) 1. 싱글톤 패턴이란? 소프트웨어 디자인 패턴중 생성 패턴에 속하는 디자인 패턴입니다. Singleton Pattern을 따르는 클래스는, 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴합니다. 주로 공통된 객체를 여러개 생성해서 사용하는 DBCP(DataBase Connection Pool)와 같은 상황에서 많이 사용됩니다. 이미지 출처: 위키백과(https://ko.wikipedia.org/wiki/%EC%8B%B1%EA%B8%80%ED%84%B4_%ED%8C%A8%ED%84%B4) 2. 싱글톤 구현 2.1 Eager initialization 가장 기본적인 singleton pattern으로서 private sta.. 더보기