자바 디자인 패턴(10)
-
[디자인패턴] 컴포짓패턴(Composite pattern)
컴포짓패턴(Composite pattern) 개별 객체와 복합 객체를 코드 상에서 별도로 구분하지 않고 추상화한 인터페이스를 구성하고 동일하게 다룰 수 있도록 한 패턴 작성형식 내용 Component컴포넌트 자신을 포함한 모든 컴포넌트에 대한 추상화이다.구성(composition)에 있는 객체들의 인터페이스를 정의한다.(선택적으로) component의 부모에 대한 접근하기 위한 재귀적인 구조(recursive structure)의 인터페이스를 정의하고, 적절하다면 구현한다.Leaf구성(composition)에 있는 leaf 객체들을 표현한다.component의 모든 메서드를 구현한다.Compositecomposite 컴포넌트를 표현한다.(자식들을 가지는 컴포넌트)자식들을 다루기 위한 메서드를 구현한다.모..
2016.11.19 -
[디자인패턴] 브릿지패턴(Bridge pattern)
브릿지패턴(Bridge pattern) 구현부에서 추상층을 분리하여 각자 독립적으로 변형할 수 있게하는 작성형식 내용 브릿지패턴은 기능 클래스 계층과 구현 클래스 계층을 분리한 것입니다.각 클래스 간의 구조의 초점을 맞춘 형태라고 보면 좋을것 같다. [펌] 헤드퍼스트 내용 정리장점* 구현을 인터페이스에 완전히 결합시키지 않았기 때문에 구현과 추상화된 부분을 분리시킬 수 있다. * 추상화된 부분과 실제 구현 부분을 독립적으로 확장 할 수 있다. * 추상화된 부분을 구현한 구상 클래스를 바꿔도 클라이언트 쪽에는 영향을 끼치지 않는다.사용법 및 단점* 여러 플랫폼에서 사용해야 할 그래픽스 및 윈도우 처리 시스템에서 유용하게 쓰인다. * 인터페이스와 실제 구현부를 서로 다른 방식으로 변경해야 하는 경우에 유용하..
2016.11.19 -
[디자인패턴] 추상팩토리패턴(Abstract Factory pattern)
추상팩토리패턴(Abstract Factory pattern) 객체를 생성할 때 객체를 구성하는 부분을 추상화하여 여러 서브클래스가 상속을 통해 구현하여 구성하는 부분을 동일하게 유지하는 방법객체를 구성하는 클래스가 있을 때 생성 공정을 동일하고 구현 내용이 다를 때 메서드를 추상화하여 사용하는 것 작성형식 [출처] http://jinsprogramming.wikispaces.com/Abstract+factory+pattern?showComments=1 Product 관련 코드 public abstract class Product { public abstract String getName(); public abstract int getPrice(); @Override public String toStrin..
2016.11.17 -
[디자인패턴] 빌더패턴(Builder pattern)
빌더패턴(Builder pattern) Builder 패턴의 의도는 복잡한 객체의 생성을 표현으로 부터 분리시키는 것 작성형식 Builder - 객체(제품)를 생성하는 추상 인터페이스 Concrete Builder - Builder의 구현 클래스. 다른 객체를 생성할 수 있도록 하는 구체적인 클래스. 객체를 만들기 위해 부분(부품)을 생성하고 조립한다.Director - Director클래스는 객체 생성의 정확한 순서(sequenct)를 다루는 부분에 책임이 있다. 이 클래스는 ConcreteBuilder를 인자로 받아서 필요한 동작을 수행한다.Product - Builder를 이용해서 Director가 만들어낸 최종 객체 /** "Product" */ class Pizza { private String..
2016.11.17