자바 디자인 패턴 15

[자바 디자인 패턴] 생성패턴 - 빌더 패턴

생성패턴 목록 팩토리 메소드 패턴 (Factory Method Pattern) 추상 팩토리 패턴 (Abstract Factory Pattern) 싱글톤 패턴 (Singleton Pattern) 프로토타입 패턴 (Prototype Pattern) 빌더 패턴 (Builder Pattern) 오브젝트 풀 패턴 (Object Pool Pattern) 객체의 구성과 표현을 명확히 해야하는 경우에 필요한 것 같다. 하지만 추상적으로 정의되어있는 상태에서는 함부로 적용할 수 있는 패턴이 아닌 것 같다. 장점 - 객체의 구성과 표현을 명확하게 구분합니다. - 프로세스를 보다 잘 제어할 수 있습니다. - 객체의 내부 표현 변경을 지원합니다. 사용시기 - 단일 단계에서 개체를 만들 수 없을 때 UML Interface C..

카테고리 없음 2019.08.09

[자바 디자인 패턴] 생성패턴 - 프로토타입 패턴

생성패턴 목록 팩토리 메소드 패턴 (Factory Method Pattern) 추상 팩토리 패턴 (Abstract Factory Pattern) 싱글톤 패턴 (Singleton Pattern) 프로토타입 패턴 (Prototype Pattern) 빌더 패턴 (Builder Pattern) 오브젝트 풀 패턴 (Object Pool Pattern) 각 클래스의 메소드의 로직에 차이가 없고, 생성 시에 개체의 속성에만 차이가 있을 때 사용하는 것이 좋을 것 같다. 장점 - 서브 클래싱의 필요성을 줄입니다. - 객체 생성의 복잡성을 숨깁니다. - 클라이언트는 어떤 유형의 객체인지 모른 채 새로운 객체를 얻을 수 있습니다. - 런타임에 객체를 추가하거나 제거할 수 있습니다. 사용시기 - 클래스가 런타임에 인스턴스화..

카테고리 없음 2019.08.09

[자바 디자인 패턴] 생성패턴 - 싱글톤 패턴

생성패턴 목록 팩토리 메소드 패턴 (Factory Method Pattern) 추상 팩토리 패턴 (Abstract Factory Pattern) 싱글톤 패턴 (Singleton Pattern) 프로토타입 패턴 (Prototype Pattern) 빌더 패턴 (Builder Pattern) 오브젝트 풀 패턴 (Object Pool Pattern) 싱글톤 패턴은 Enum Class 로 작성하는 것이 가장 효율적이라고 한다 장점 - 각 요청에서 객체가 생성되지 않으므로 메모리를 절약합니다. - 하나의 인스턴스만 반복해서 재사용할 수 있습니다. 사용시기 - 멀티스레드 및 데이터베이스 응용 프로그램에서 사용합니다. - 로깅, 캐싱, 스레드 풀, 구성설정 등 UML Singleton Class : JDBCSingle..

카테고리 없음 2019.08.09

[자바 디자인 패턴] 생성패턴 - 추상 팩토리 패턴

생성패턴 목록 팩토리 메소드 패턴 (Factory Method Pattern) 추상 팩토리 패턴 (Abstract Factory Pattern) 싱글톤 패턴 (Singleton Pattern) 프로토타입 패턴 (Prototype Pattern) 빌더 패턴 (Builder Pattern) 오브젝트 풀 패턴 (Object Pool Pattern) 앞에서 배운 팩토리 메소드 패턴을 여러개를 동시에 사용해야 하는 경우에는 추상 팩토리 패턴을 사용하면 새로운 팩토리(추가기능)가 생기더라도 기존에 구현해 놓은 코드에 영향을 주지 않을 수 있고, 새로운 팩토리를 사용하는 클래스에서도 기존 방식과 동일하게 팩토리를 생성하여 사용할 수 있다. 장점 - 클라이언트 코드를 구현클래스에서 분리합니다. - 객체 패밀리의 교환을..

카테고리 없음 2019.08.08

[자바 디자인 패턴] 생성패턴 - 팩토리 메소드 패턴

생성패턴 목록 팩토리 메소드 패턴 (Factory Method Pattern) 추상 팩토리 패턴 (Abstract Factory Pattern) 싱글톤 패턴 (Singleton Pattern) 프로토타입 패턴 (Prototype Pattern) 빌더 패턴 (Builder Pattern) 오브젝트 풀 패턴 (Object Pool Pattern) 시스템을 설계할 때에는 먼저 추상적으로 설계를 하게 될 수 밖에 없다. 때문에 추상적인 개념을 추상클래스로 만들어 두고 팩토리 메소드 패턴을 적용하면 기초 설계에 있어서 유용할 것 같다고 생각한다. 장점 - 서브클래스가 객체타입을 선택해서 생성할 수 있습니다. - 특정 클래스를 코드에 바인딩 할 필요가 없어서 느슨한 결합을 촉진합니다. - 코드는 인터페이스와 추상클..

카테고리 없음 2019.08.08