소프트웨어 스터디/디자인패턴 3

Builder Pattern - 빌더패턴

정의 해당 패턴은 생성자를 통해 직접 생성하지 않고, 빌더라는 내부 클래스를 통해 간접적으로 생성하는 패턴입니다. 그렇다면 왜 굳이 이렇게 해야하는가? 팩토리패턴과 무엇이 다른가 의문이 드는 부분이 있습니다. 빌더패턴은 객체를 생성할 때 생성자등에 다양한 파라미터가 들어가야하는 경우에 쓰여진다고 볼 수 있습니다. 코드 샌드위치 예제로 사용해보도록 하겠습니다. public class Sandwich { enum BreadType { Flat, Bun, Roll } public Sandwich(BreadType breadType) {...} public Sandwich(BreadType breadType, boolean meat) {...} public Sandwich(BreadType breadType, ..

Factory Method Pattern

정의 Factory method pattern은 interface나 abstract class로 정의된 오브젝트를 직접 생성하는 것이 아니라 이 생성을 subclass가 결정하여 하도록 하는 것입니다. 결론적으로 객체를 subclass가 만든다 입니다. 말로 설명하는 것 보단 코드를 보는게 더 이해가 쉽겠죠? 코드 도형을 생성하는 것을 예제로 코드를 구성해보려고 합니다. public interface Shape { void draw(); } interface로 Shape을 만들고 사용할 도형들을 아래와 같이 구현합니다. enum ShapeTypes { Ellipse, Rectangle, Polygon } public class Ellipse implements Shape { @Override public..

Singleton 패턴

위키피디아에 따르면 싱글턴 패턴(Singleton pattern)을 따르는 클래스는, 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴한다. 이와 같은 디자인 유형을 싱글턴 패턴이라고 한다. 주로 공통된 객체를 여러개 생성해서 사용하는 DBCP(DataBase Connection Pool)와 같은 상황에서 많이 사용된다. 즉 프로그램 전역적으로 단 하나의 객체만 존재하며 사용된다라고 해석이 됩니다. public class Singleton { private static Singleton instance; public static Singleton getInstance() { if (instance == null) { in..