전체 글

전체 글

    CHAPTER 06.커멘드 패턴

    커멘드 패턴 이해를 위한 간단한 문제 제안필자는 고객의 요구사항에 의해서 만능 IOT 리모컨을 만들려고 합니다.리모컨에는 아래와 같은 방식으로 만들려고 해요!그림을 보면 7개의 기능들이 각 슬롯마다 매핑되어야 하는것을 알 수 있습니다.문제는 각 기능들의 공통된 인터페이스가 없다라는 상황입니다.예를 들어 ON의 첫 번째 버튼은 TV의 관련 기능이고 두 번째는 선풍기 전원이라고 가정하겠습니다.TV의 기능 ON에는 TV가 켜진순간 볼륨도 켜져야하고 채널의 최초 번호수도 결정되어야 합니다.선풍기는 ON 되는 순간 방향의 세기가 결정되어야 합니다.이처럼 공통 인터페이스가 없는 경우 위의 사진처럼 여러 클래스가 난잡해지는 문제가 발생합니다.하물며 고객은 나중에 다른 제품이 추가될 수 있게 확장성 있는 개발을 원합니..

    CHAPTER 05.싱글톤 패턴

    1.싱글톤 패턴이란싱글톤 패턴은 클래스 인스턴스를 하나만 만들고, 하나만 만든 인스턴스로의 전역 접근을 제공하는 패턴입니다.싱글톤 패턴 구현public class Singleton { private static Singleton uniqueInstance; // other useful instance variables here private Singleton() {} public static Singleton getInstance() { if (uniqueInstance == null) { uniqueInstance = new Singleton(); } return uniqueInstance; } // other useful methods here }코드를 살펴보겠습니다.먼저 Singleton 클래스의 ..

    CHAPTER 04.팩토리 패턴

    팩토리 패턴 이해를 위한 간단한 문제 제안피자를 만드는 아래와 같은 코드가 있다고 가정해보겠습니다.public class PizzaStore { public Pizza orderPizza(String type) { Pizza pizza; if (type.equals("cheese")) { pizza = new CheesePizza(); } else if (type.equals("pepperoni")) { pizza = new PepperoniPizza(); } else if (type.equals("clam")) { pizza = new ClamPizza(); } else if (type.equals("veggie")) { pizza = new VeggiePizza(); } pizza.prepare();..