설계3 Factory Method Pattern 팩토리 메소드 패턴 - 생성, 다양한 유형의 객체 생성, 변경, 추가가 빈번히 일어나는 경우 | [Design pattern] 디자인 패턴 Factory Method 패턴 서브 클래스가 인스턴스를 결정하도록 하고 책임을 위임하는 패턴 객체의 생성을 서브 클래스에 위임하는 패턴 조건에 맞게 객체를 다르게 생성 결합도 줄이고 유지보수 용이 템플릿 메소드 패턴 사용 (Virtual - Constructor) 객체 생성 방법) 생성자 (new 연산자)를 사용하여 직접 생성 객체 생성 클래스 / 메소드 (factory class / method) 사용 -> 객체 생성을 추상화 문제점1) 다양한 종류의 피자 (객체)를 생성 변경 추가 제거 가능 생성자를 사용하여 객체 생성 Pizza orderPizza(String type) { Pizza pizza; if (type.equals(“cheese”)) { pizza = new CheesePizza(); .. 2021. 12. 21. Decorator Pattern - 구조, 구성과 위임을 통해 특정 개체에 행동을 동적으로 추가 | [Design pattern] 디자인 패턴 Decorator Pattern 같은 class의 다른 객체들에는 영향을 주지 않고, 구성과 위임을 통해 특정 객체에 행동을 동적으로 추가 소스를 변경하지 않고 기능을 확장 기존 객체의 메소드에 새로운 행동을 추가하거나 오버라이딩 가능 객체에 독립적인 기능을 계속해서 추가, 확장할 때 유용 객체에 부가적인 기능을 동적으로 추가할 때 사용 문제점) 상속을 사용한 객체의 기능 확장은 subclass를 양산한다. Subclassing을 사용한 정적 확장의 문제점: ① 너무 많은 subclass가 필요함 ② 새로운 유형의 음료수가 개발될 때마다 subclass를 계속 추가되어야 함. 패턴 아이디어) DataInputStream dis; // primitive value dis = new DataInputStre.. 2021. 12. 11. [Design Pattern] 디자인 패턴 / 설계 원칙 .java 설계 원칙 기본 원칙들 Encapsulation, Abstraction Inheritance, Polymorphism Association/Aggregation/Composition 객체 : 속성 (Attribute) + 메소드(Method) 현실 세계에 존재하는 개체를 속성뿐만 아니라 기능까지 포함시킨 것 객체지향 : 현실 세계의 개념(concepts or things)을 객체로 표현함 객체지향 기술은 객체와 객체 간의 통신을 통해 프로그램이 구현 객체지향프로그램 = 메시지 전송을 통해 상호작용하는 객체들의 모임 * 모듈화된 설계 - 모듈 : 객체 , 변수 : 속성, 함수 : 메소드 객체지향언어 4대 요소 객체, 메시지 전송, 클래스, 상속 객체 : 상태(state) + 행위(behavior) = 자신.. 2021. 10. 2. 이전 1 다음