🧱 CS/Design Pattern

    [Design Pattern] 2. Adapter Pattern

    https://github.com/Jaekeun-Lee/TIL/tree/master/design-patterns/adapter Adapter Pattern **Structural Pattern** 프로그램 구조에 관련된 패턴들 프로그램 내의 자료구조나 인터페이스 구조 등 프로그램의 구조를 설계하는데 활용할 수 있는 패턴들 어댑터 패턴이란? 한 클래스의 인터페이스를 클라이언트에서 사용하고자하는 다른 인터페이스로 변환한다. 어댑터를 이용하면 인터페이스 호환성 문제 때문에 같이 쓸 수 없는 클래스들을 연결해서 쓸 수 있다. 어댑터 패턴 호출 과정 클라이언트에서는 Target Interface 를 호출하는 것 처럼 보인다. 하지만 클라이언트의 요청을 전달받은 (Target Interface 를 구현한) Adap..

    [Design Pattern] 1. Singleton Pattern

    https://github.com/Jaekeun-Lee/TIL/tree/master/design-patterns/singleton Singleton Pattern **Creational Pattern** 객체를 생성하는데 관련된 패턴들 객체가 생성되는 과정의 유연성을 높이고 코드의 유지를 쉽게 함 싱글톤 패턴이란? 전역 변수를 사용하지 않고 객체를 하나만 생성하도록 하며, 생성된 객체를 어디에서든지 참조할 수 있도록 하는 패턴 싱글턴 패턴은 인스턴스가 오직 1개만 생성되야 하는 경우에 사용되는 패턴. 예를들어 레지스트리 같은 설정 파일의 경우 객체가 여러개 생성되면 설정 값이 변경될 위험이 생길 수 있다. 인스턴스가 1개만 생성되는 특징을 가진 싱글턴 패턴을 이용하면, 하나의 인스턴스를 메모리에 등록해서..

    [Design Pattern] 1. Singleton Pattern

    싱글톤 패턴(Singleton Pattern) " 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체(인스턴스)는 하나이고, 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체(인스턴스)를 리턴한다. " 객체(인스턴스)는 항상 하나만 생성된다. 정의 하나의 객체만 생성하고 사용해야 할 때, 적용할 수 있는 패턴이다. 만들어진 하나의 객체는 전역변수처럼 어디에서든지 참조할 수 있도록 하는 패턴이다. ​ 역할 하나의 객체만을 생성하는 책임이 있으며 getInstance() 메소드를 통해 모든 클라이언트에게 동일한 객체를 반환하는 작업을 수행한다. ​ 결과 오직 하나의 객체만을 보장한다. 전역 객체로써, 어디서든 접근이 가능하다. ​ public final class Singleton { priv..