Architecture/DesignPattern(14)
-
[DesignPattern] Decorator Pattern
Decorator Pattern 개요 클래스 다이어그램 예제(Java) 같이보기 참고 사항 > Decorator Pattern 이란? 데코레이터 패턴(Decorator pattern)이란 주어진 상황 및 용도에 따라 어떤 객체에 책임을 덧붙이는 패턴으로, 기능 확장이 필요할 때 서브클래싱 대신 쓸 수 있는 유연한 대안이 될 수 있다. (출처 : 위키피디아 - http://ko.wikipedia.org/wiki/%EB%8D%B0%EC%BD%94%EB%A0%88%EC%9D%B4%ED%84%B0_%ED%8C%A8%ED%84%B4) 의도 객체에 동적으로 새로운 서비스를 추가 기능 추가를 위해 서브클래스를 생성 하는 것 보다 융통성이 있음. 아래의 로봇 사진 출처 : http://blog.naver.com/Pos..
2014.01.27 -
[DesignPattern] Chain of responsibility pattern
Chain of responsibility Pattern 개요 예제(Java) 같이보기 참고 사항 >Chain of responsibility Pattern 이란? (참고 사이트 : 위키피디아 - http://ko.wikipedia.org/wiki/Chain_of_responsibility_%ED%8C%A8%ED%84%B4)객체 지향 디자인에서 chain-of-responsibility pattern은 명령 오브젝트와 일련의 프로세스 오브젝트를 포함하는 디자인 패턴이다. 각각의 프로세스 오브젝트는 명령 오브젝트를 핸들할 수 있는 연산의 집합으로 이루어지고, 체인안의 프로세스 오브젝트가 핸들할 수 없는 행해진다. 이 작동방식은 새로운 프로세스 오브젝트에서 체인의 끝까지에도 포함된다.표준 chain-of-r..
2014.01.20 -
[DesignPattern] Visitor pattern
Visitor Pattern 개요 예제(Java) 같이보기 참고 사항 >Visitor Pattern - 구조안을 돌아다니면서 일을 한다. 네이버 어학사전(software, design, ) A behavioural design pattern that separats an algorithm from an object structure on which it operates. - 행위 디자인 패턴이고 객체 구조로부터 분리하는 하나의 방법이다. 이런 분리는 존재하고 있는 객체 구조에 그 구조를 수정하지 않고 새로운 동작을 추가 할 수 있도록 해준다. 이것은 open-closed principle에 따르는 하나의 방법이다. 또한, 오퍼레이션!! 동작이라고 생각하자.비지터 패턴은 객체의 요소에 대해 수행하는 오퍼레..
2014.01.11 -
[DesignPattern] Iterator pattern
Iterator Pattern 개요 예제(Java) 같이보기 참고 사항 > Iterator Pattern - 하나씩 열거하면서 처리 한다. > 1. 결과 실용주의 프로그래머 애자일 프로젝트 파워 스피치 왜 일하는가? 2. 테스트 코드 package kr.pe.acet.iterator; public class AggregateTest { @org.junit.Test public void testIterator() throws Exception { BookShelf bookShelf = new BookShelf(4); bookShelf.appendBook(new Book("실용주의 프로그래머")); bookShelf.appendBook(new Book("애자일 프로젝트")); bookShelf.appendB..
2014.01.06 -
[DesignPattern] flyweight pattern
Flyweight Pattern 개요 클래스 다이어그램 예제(Java) 같이보기 참고 사항 > Flyweight - 동일한 것을 공유해서 낭비를 없앤다. 이 디자인패턴은 객체를 '가볍게' 하기 위함 이다. 여기에서의 가볍다라는 것은 메모리의 사용량을 말한다. 한마디로 인스턴스를 가능한 공유시켜서 쓸데없이 new를 하지 않는 것이다. > > 결과 객체 생성!? aceHunter님이1레벨이 되어 arrowShotting skill을 사용 할 수 있습니다. aceHunter님이1레벨이 되어 doubleArrowShotting skill을 사용 할 수 있습니다. aceHunter님이30레벨이 되어 arrowShotting 10발 skill을 사용 할 수 있습니다. 객체 생성!? highHunter님이120레벨이..
2014.01.06 -
[DesignPattern] state pattern
2013/12/16 - [Architecture/DesignPattern] - [DesignPattern] memento pattern 2013/12/09 - [Architecture/DesignPattern] - [DesignPattern] mediator pattern 2013/12/03 - [Architecture/DesignPattern] - [DesignPattern] command pattern 2013/11/24 - [Architecture/DesignPattern] - [DesignPattern] observer pattern 2013/11/24 - [Architecture/DesignPattern] - [DesignPattern] Interpreter pattern 2013/07/21 -..
2013.12.31