728x90 분류 전체보기163 [Java 언어로 배우는 디자인 패턴 입문] 하위 클래스 위임 4. Factory Method 출처 : 책 - java 언어로 배우는 디자인 패턴 입문 4. Factory Method - 하위 클래스에서 인스턴스 작성하기 1. 목적 - 반환 인스턴스종류를 하위 클래스에서 결정 해주는 방식이다. - new를 사용해서 인스턴스를 생성하는 대신에, 인스턴스 생성 메소드를 호출해서 구체적인 클래스 이름에 의한 속박에서 상퀴 클래스를 자유롭게 만든다 > 내가 이해하기로는, 인스턴스를 인터페이스로 받으면 혹시나 클래스 이름 바뀌거나 했을 때 하나하나 바꿔주지 않아도 되는 장점이 있다. 2. 예시 (1) Factory 추상 클래스 public abstract class Factory { public final Product create(String owner) { Product p = createProduct.. 2021. 1. 7. [Java 언어로 배우는 디자인 패턴 입문] 하위 클래스 위임 3. Template Method 출처 : 책 - java 언어로 배우는 디자인 패턴 입문 3. Template Method - 하위 클래스에서 구체적으로 처리하기 1. 목적 - 메소드의 뼈대를 미리 만들어 두기 위해서 사용한다. > 우리가 흔히 아는 Interface와 class 관계와 비슷한 내용이다. - 장점 : 인터페이스를 선언하고 구현 하위 클래스 인스턴스를 대입해 사용 할 수 있다. ( 상위 클래스형의 변수에 하위 클래스의 종류를 특정하지 않아도 프로그램이 동작할 수 있도록 한다. : The Liskov Substitution Principle(LSP) 원칙 ) - 메소들간의 로직을 추상클래스 측에서 작성해, 공통적으로 적용할 수 있다. 2. 예제 (1) 추상 클래스 public abstract class AbstractDis.. 2021. 1. 7. [Java 언어로 배우는 디자인 패턴 입문] 입문 2. Adapter- 재이용 출처 : 책 - java 언어로 배우는 디자인 패턴 입문 1. 사용 이유 (1) 목적 - 기존의 것을 감싸서 재이용한다. - 소속 인터페이스 말고 다른 인터페이스 맞출 때 사용한다. (2) 특징 - Wrapper 패턴으로 불리기도 한다. - 상속 또는 인스턴스를 이용한다. - 기존의 검증된 Class를 재사용 하면 신뢰성이 향상된다. - 메소드를 감싸서 새로운 메소드를 만든 다음 다른 인터페이스에 끼워 넣을수도 있다. 2. 예제 (1) Banner public class Banner { private String string; public Banner(String string) { this.string = string; } public void showWithParen() { System.out.prin.. 2021. 1. 4. [Java 언어로 배우는 디자인 패턴 입문] 입문 1. Iterator - 순서대로 처리 출처 : 책 - java 언어로 배우는 디자인 패턴 입문 1. 사용 이유 (1) 목적 > 전체를 순서대로 처리하는 패턴 (2) 특징 - for문의 변수 i의 기능을 추상화해서 일반화 한 것이다. - 구현과 접근을 분리한다. (3) 내 생각 - '사물'과 '사물을 세는 행동'을 분리하는 데 의의가 있는 것 같다. 객체 지향적인 프로그래밍. - 또한 for문으로 쓰는 것보다 구현 후 사용 할 때는 더 직관적이고 간단한것 같다. 2. 핵심 인터페이스 public interface Aggregate { public abstract Iterator iterator(); } public interface Iterator { public abstract boolean hasNext(); public abstract .. 2021. 1. 3. 이전 1 ··· 26 27 28 29 30 31 32 ··· 41 다음 728x90