Computer Science/Design Pattern
-
[Design pattern] 행위 패턴Computer Science/Design Pattern 2019. 6. 14. 11:51
행위 패턴 Chain-of-responsibility pattern Command pattern Interpreter pattern Iterator pattern Observe pattern Mediator pattern Memento pattern State pattern Strategy pattern Template method pattern Null object pattern Visitor pattern Chain-of-responsibility pattern 요청을 처리할 수 있는 기회를 하나 이상의 객체에게 부여함으로써 요청하는 객체와 처리하는 객체 사이의 결합도를 없애는 패턴 요청을 해결하는 객체를 만날 때까지 객체 고리를 따라서 요청을 전달한다. 요청을 보낸 쪽하고 받는 쪽을 분리한다. 사슬..
-
[Design pattern] 구조 패턴Computer Science/Design Pattern 2019. 6. 13. 17:44
구조 패턴 Adapter pattern Proxy pattern Decorator pattern Bridge pattern Composite pattern Facade pattern Flyweight pattern Adapter pattern 클래스의 인터페이스를 클라이언트가 원하는대로 변경한다. Adapter는 호환 불가능한 인터페이스 떄문에 협력할 수 없는 클래스들을 협력할 수 있게 한다. 래퍼(Wrapper)로도 불린다. 레거시 시스템을 원하는 인터페이스로 사용 가능케 한다. 어뎁터 패턴 동기 통신 시스템 보안 A 프로토콜 라이브러리 새로운 시스템의 B 프로토콜 구축에 A 라이브러리를 이용 Proxy pattern 특정 객체에 접근을 조절하기 위하여 대리자(프록시)를 둔다. 필요할 때만 비싼 대가의..
-
[Design Pattern] Builder 패턴/Prototype 패턴/Object pool 패턴Computer Science/Design Pattern 2019. 6. 13. 14:04
Builder pattern 생성 인자가 많은 경우 객체 생성 로직을 클래스 밖으로 옮길 필요 서로 연관된 복잡한 생성자를 가지고 있을 때 생성자의 복잡성 비즈니스 룰의 복잡성 한번에 모든 생성 데이터가 없을 때 단계적 생성 package creation.builder; public class NutritionFacts { // TODO private final int servingSize; private final int servings; private final int calories; private final int fat; private final int sodium; public static class Builder { private final int servingSize; private fin..
-
[Design Pattern] Singleton 패턴 / Factory 패턴Computer Science/Design Pattern 2019. 6. 13. 11:55
디자인 패턴이란? 일반적인 설계 문제를 해결하기 위하여 짜여진 상호 협력하는 객체들과 클래스들에 대한 기술 (GoF) 자주 발생하는 설계상의 문제를 해결하기 위한 반복적인 해법 (Smalltalk Companion) 반복되는 구조를 설계할 때 설계를 재활용하는데 초점을 두는데 비하여 프레임워크는 세부 설계와 구현에 초점을 두고 있다. (Coplien & Schmidt) 생성 패턴 Singleton pattern Factory pattern Simple factory pattern Factory method pattern Abstract factory pattern Builder pattern Prototype pattern Object pool pattern Singleton pattern 매우 간단하고..