[Design Pattern] Factory
·
Reference/Design Pattern
"헤더퍼스트 디자인패턴" + "면접을 위한 CS 전공 지식 노트"에 개인적인 의견과 생각들을 추가하여 작성한 포스팅이므로 틀린 내용이 있을 수 있습니다. (있다면 지적 부탁 드립니다.) 📕 목차 1. Legacy Client 2. Simple Factory 3. Factory Method Pattern 4. Dependency Injection 5. Dependency Inversion Principle 6. Abstract Factory Pattern 1. Legacy Client 📌 클라이언트가 피자 주문하기 public class LegacyPizzaStore { public Pizza orderPizza(String type) { Pizza pizza = null; if (type.equals("..
[Design Pattern] Singleton
·
Reference/Design Pattern
"헤더퍼스트 디자인패턴" + "면접을 위한 CS 전공 지식 노트"에 개인적인 의견과 생각들을 추가하여 작성한 포스팅이므로 틀린 내용이 있을 수 있습니다. (있다면 지적 부탁 드립니다.) 📕 목차 1. 리틀 싱글턴 2. 싱글턴 패턴 3. 싱글턴 패턴 구현 전략 1. 리틀 싱글턴 📌 The Little Lisper 클래스의 인스턴스를 생성하기 위해서는 일반적으로 다음과 같이 new 연산자를 사용한다. new Foo(); 다른 객체에서 또 Foo라는 클래스의 인스턴스가 필요하면, 또 new 연산자를 사용해 인스턴스를 생성하면 된다. 그런데 만약, Foo 클래스의 생성자를 private로 바꾼다면 어떻게 될까? class Foo() { private Foo() {} } 이렇게 되면 Foo 클래스 내부에서만 생성..