Java 디자인 패턴: 15개의 글
생성패턴 목록 팩토리 메소드 패턴 (Factory Method Pattern) 추상 팩토리 패턴 (Abstract Factory Pattern) 싱글톤 패턴 (Singleton Pattern) 프로토타입 패턴 (Prototype Pattern) 빌더 패턴 (Builder Pattern) 오브젝트 풀 패턴 (Object Pool Pattern) 싱글톤 패턴은 Enum Class 로 작성하는 것이 가장 효율적이라고 한다 장점 - 각 요청에서 객체가 생성되지 않으므로 메모리를 절약합니다. - 하나의 인스턴스만 반복해서 재사용할 수 있습니다. 사용시기 - 멀티스레드 및 데이터베이스 응용 프로그램에서 사용합니다. - 로깅, 캐싱, 스레드 풀, 구성설정 등 UML Singleton Class : JDBCSingle..
생성패턴 목록 팩토리 메소드 패턴 (Factory Method Pattern) 추상 팩토리 패턴 (Abstract Factory Pattern) 싱글톤 패턴 (Singleton Pattern) 프로토타입 패턴 (Prototype Pattern) 빌더 패턴 (Builder Pattern) 오브젝트 풀 패턴 (Object Pool Pattern) 앞에서 배운 팩토리 메소드 패턴을 여러개를 동시에 사용해야 하는 경우에는 추상 팩토리 패턴을 사용하면 새로운 팩토리(추가기능)가 생기더라도 기존에 구현해 놓은 코드에 영향을 주지 않을 수 있고, 새로운 팩토리를 사용하는 클래스에서도 기존 방식과 동일하게 팩토리를 생성하여 사용할 수 있다. 장점 - 클라이언트 코드를 구현클래스에서 분리합니다. - 객체 패밀리의 교환을..
생성패턴 목록 팩토리 메소드 패턴 (Factory Method Pattern) 추상 팩토리 패턴 (Abstract Factory Pattern) 싱글톤 패턴 (Singleton Pattern) 프로토타입 패턴 (Prototype Pattern) 빌더 패턴 (Builder Pattern) 오브젝트 풀 패턴 (Object Pool Pattern) 시스템을 설계할 때에는 먼저 추상적으로 설계를 하게 될 수 밖에 없다. 때문에 추상적인 개념을 추상클래스로 만들어 두고 팩토리 메소드 패턴을 적용하면 기초 설계에 있어서 유용할 것 같다고 생각한다. 장점 - 서브클래스가 객체타입을 선택해서 생성할 수 있습니다. - 특정 클래스를 코드에 바인딩 할 필요가 없어서 느슨한 결합을 촉진합니다. - 코드는 인터페이스와 추상클..
행동패턴 목록 책임연쇄 패턴 (Chan of Responsibility Pattern) 커맨드 패턴 (Command Pattern) 해석자 패턴 (Interpreter Pattern) 반복자 패턴 (Iterator Pattern) 중재자 패턴 (Mediator Pattern) 메멘토 패턴 (Memento Pattern) 관찰자 패턴 (Observer Pattern) 상태 패턴 (State Pattern) 전략 패턴 (Strategy Pattern) 템플릿 패턴 (Template Pattern) 커맨드를 추가하고 난 다음 Receiver, Invoker 클래스만 수정하기만 하면 바로 추가된 커맨드를 사용할 수 있다. 지금은 이 커맨드라는 부분이 어떤 장치에 들어가는 프로그램에 사용하는 경우에 좀 더 적합한..
행동패턴 목록 책임연쇄 패턴 (Chan of Responsibility Pattern) 커맨드 패턴 (Command Pattern) 해석자 패턴 (Interpreter Pattern) 반복자 패턴 (Iterator Pattern) 중재자 패턴 (Mediator Pattern) 메멘토 패턴 (Memento Pattern) 관찰자 패턴 (Observer Pattern) 상태 패턴 (State Pattern) 전략 패턴 (Strategy Pattern) 템플릿 패턴 (Template Pattern) 처음에 여러 절차에 따라서 테스트를 하기 위한 경우에도 이렇게 책임 연쇄패턴을 써서 돌려봐도 좋을 것 같다. 유연성도 있고, 하나의 클래스가 하나의 역할을 하기 때문에 여러가지 작업을 하나하나 적용하고 순서도 바꾸..