본문 바로가기
728x90
반응형

Development/Design Pattern5

Strategy Pattern Strategy Pattern, 전략 패턴이라고 한다.전략이라는 것은 여러 분야에서 쓰인다. 특히 스포츠에서 많이 들을 수 있는 단어이다. 그리고 언제나 전략은 한가지일 수는 없다. 딱히 한가지 방법만 있다고 한다면.. 전략이라고 하기에는 좀 부족하지 않을까. 그냥 공식? 이라고 하는 편이 나을지도 모르겠다. 이렇게 전략은 항상 다양하게 존재한다. 상황에 따라서 전략을 바꿀수도 있다. 이러한 사상(?)을 담은 패턴이 Strategy 패턴이다.클래스 다이어크램을 보면 Context 클래스가 존재하고 AStrategy 인터페이스가 존재한다. 그리고 AStrategy 인터페이스를 구현한 ConcreteStrategy 클래스들이 존재한다. 상황에 따라서 ConcreteStategy 클래스를 변경한다!라는 것이다.. 2013. 7. 2.
[데코레이터 패턴] 작성중... 2013. 6. 26.
Factory Method Pattern Factory Method 패턴에서는 객체를 생성하기 위한 인터페이스를 정의한다. 어떤 클래스를 만들지는 서브클래스에서 결정한다. 즉, 클래스의 인스턴스를 만드는 일을 서브클래스에 맡기게 된다. Factory Method 구조? abstract Product factoryMethod(String type) abstract : 추상메소드로 선언하여 서브클래스에서 객채 생성을 책임진다. Product : 특정 객체를 리턴한다. type : 매개변수를 써서 만들어낼 객체 종류를 선택할수 있다. DIP : Dependency Inversion Principle 구상 클래스에 의존하지 않고 추상화된 것에 의존하도록 만들어라! Product를 구현하는 ConcreteProduct 의 종류가 다양해져도 Creator.. 2011. 8. 30.
Decorator Pattern 객체에 추가적인 요건을 동적으로 첨가할수 있다. 데코레이터는 서브클래스를 만드는것을 통해서 기능을 유연하게 확장할 수 있는 방법은 제공한다. Decorator가 Component를 상속받음으로써 ConcreteDecorator들의 형식을 동일하게 맞출 수 있다. 그래서 Component에 여러개의 ConcreteDecorator들을 충첩시킬수도 있다. 2011. 8. 30.
Template Method Pattern Template이란?? 일상생활에서도 많이 쓴다. 특히 PPT만들때 많이들 사용하는것처럼 무엇인가 정형화된 틀이라고 생각하면 될것 같다. 상위클래스에서 abstract 메소드를 정의해서 상속받는 하위 클래스들에게 그것을 구현할 책임을 부여해주는것... 이게 Template Method 패턴의 핵심인듯 하다. 뭐 책을 보니 이것을 Subclass Responsibility라고 한다고 하네??? Abstract Class A{ abstract method1; template method; } ConcreateClass extends A{ method{....} } 뭐 이런 구조다...그냥 살펴보면 참 간단한 패턴.. 하지만 실제 적용하려면... 참 머리 뽀개지겠구나.. 그리고 예전에 내가 생각없이 Copy&.. 2011. 8. 30.
728x90
반응형