pattern(12)
-
[디자인패턴] 컴포짓패턴(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 -
[디자인패턴] 원형(프로토타입) 패턴(prototype pattern)
원형(프로토타입) 패턴(prototype pattern) 객체에 의해 생성될 객체의 타입이 결정되는 생산 디자인 패턴미리 만들어진 개체를 복사하여 개체를 생성하는 패턴 설명 객체 생성과 관련된 패턴들은 서로 영역이 겹치는 면이 있다. 프로토타입 패턴과 추상 팩토리 패턴 중 어느 하나가 적용될 수 있는 경우가 있다. 추상 팩토리 패턴이 프로토타입들의 집합을 갖고있다가, 클론(clone)한 뒤 프로덕트(product) 객체를 반환할 수도 있다.추상 팩토리 패턴, 빌더 패턴, 프로토타입 패턴은 각 구현에 있어서 싱글턴 패턴을 활용할 수 있다.다시 말해 추상 팩토리 클래스는 종종 팩토리 메소드과 함께 구현하거나, 프로토타입을 이용해서 구현되기도 한다.보통 설계는 처음에는 팩토리 메소드로 출발한다. 다음에 설계자..
2016.11.15 -
[디자인패턴] 싱글톤패턴(Singleton pattern)
싱글톤패턴(Singleton pattern) 하나의 인스턴스 만을 생성하도록 구현하는 패턴 작성형식 코드1 public class Singleton { //단일 인스턴스를 사용하기 위한 전역변수 static Singleton instance; //기본생성자 private Singleton(){ } //단일 인스턴스르 반환하기 위한 메서드 public static Singleton getInstance(){ if(instance == null){ instance = new Singleton(); } return instance; } } 코드2 public class SingletonExam { public static void main(String[] args) { //기본생성자 호출 불가 //Single..
2016.11.15