반응형 역량 UP!/DesignPattern14 [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. 1. 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. 1. 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. 1. 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. 1. 6. [DesignPattern] flyweight pattern Flyweight Pattern 개요 클래스 다이어그램 예제(Java) 같이보기 참고 사항 > Flyweight - 동일한 것을 공유해서 낭비를 없앤다. 이 디자인패턴은 객체를 '가볍게' 하기 위함 이다. 여기에서의 가볍다라는 것은 메모리의 사용량을 말한다. 한마디로 인스턴스를 가능한 공유시켜서 쓸데없이 new를 하지 않는 것이다. > > 결과 객체 생성!? aceHunter님이1레벨이 되어 arrowShotting skill을 사용 할 수 있습니다. aceHunter님이1레벨이 되어 doubleArrowShotting skill을 사용 할 수 있습니다. aceHunter님이30레벨이 되어 arrowShotting 10발 skill을 사용 할 수 있습니다. 객체 생성!? highHunter님이120레벨이.. 2014. 1. 6. [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. [DesignPattern] memento pattern The memento pattern is a software design pattern that provides the ability to restore an object to its previous state (undo via rollback). The memento pattern is implemented with three objects: the originator, a caretaker and a memento. The originator is some object that has an internal state. The caretaker is going to do something to the originator, but wants to be able to undo the change. The .. 2013. 12. 16. [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 - [Architecture/DesignPattern] - [첫번째 스터디] singleton 패턴 2013/07/21 - [Architecture/DesignPattern] - [첫번째 스터디] abstractFactory 패턴 > 패턴의 의도 : 각 객체가 관련성을 갖는 .. 2013. 12. 9. [DesignPattern] command pattern 2013/11/24 - [Architecture/DesignPattern] - [DesignPattern] observer pattern 2013/11/24 - [Architecture/DesignPattern] - [DesignPattern] Interpreter pattern 2013/07/21 - [Architecture/DesignPattern] - [첫번째 스터디] abstractFactory 패턴 2013/07/21 - [Architecture/DesignPattern] - [첫번째 스터디] singleton 패턴 금일은 Command Pattern 에 대해서 스터디를 했네요^^ reo형님이 빠져서 아쉽네요..ㅜㅜ..지못미.. 출처 : http://ko.wikipedia.org/wiki/%EC.. 2013. 12. 3. [DesignPattern] observer pattern 2013/07/21 - [Architecture/DesignPattern] - [첫번째 스터디] singleton 패턴 2013/07/21 - [Architecture/DesignPattern] - [첫번째 스터디] abstractFactory 패턴 2013/11/24 - [Architecture/DesignPattern] - [DesignPattern] Interpreter pattern 참조 사이트 : http://ko.wikipedia.org/wiki/%EC%98%B5%EC%84%9C%EB%B2%84_%ED%8C%A8%ED%84%B4 11월 25일 내부 스터디(일명: 용수철 스터디 그룹!) observer pattern에 대해서 알아보자^^ 객체의 상태 변화를 관찰하는 관찰자들, 즉 옵저버들의 목록.. 2013. 11. 24. [DesignPattern] Interpreter pattern 2013/07/21 - [Architecture/DesignPattern] - [첫번째 스터디] singleton 패턴 2013/07/21 - [Architecture/DesignPattern] - [첫번째 스터디] abstractFactory 패턴 지금까지 공부 한 디자인 패턴 목록 : http://acet.pe.kr/notice/325 음..정리는 2개뿐이 하질 않았군요.. 하하;; 프로젝트와 병행을 하고 있어서..11월 19일부터 내부 스터디 다시 시작 합니다^-^/ 매주 월요일 - 눈이 오나 비가오나 지구가 망해도 스터디는 진행 합니다. 아무도 참여하지 않아도 진도는 나갑니다.ㅋㅋㅋㅋ ㅇ > 범 위 : Interperter 패턴 참여 인원 : 4명 중 3명 참여 참 여 : 공K, 박D, Mr. 권.. 2013. 11. 24. [첫번째 스터디] abstractFactory 패턴 part 2. abstractFactory pattern 추상 팩토리 패턴..!! 팩토리 패턴은 매우 다양한 것 같다..뒤에도 나오겠지만 Factory Method 라는 녀석도 있다. @.@;; Factory 패턴은 생성 패턴이라고도 부른다. 즉, 객체를 생성해주는 패턴이라고 보면 된다. 아래의 소스에서 보면 KRAddress와 USAddress.java가 생성이 되어야하는 대상 이다. 어떻게 생성을 해주어야 하는가는 소스를 보면 파악 할 수 있을 것이다. 하지만 헷깔릴수 있는 소지가 다분하다. 바로 팩토리 이녀석도 추상적인 개념을 넣어서 interface구조 또는 abstract구조로 나뉘어져있기 때문이다. 위의 소스의 구성을 보면 복잡하게 느낄 수도 있겠지만 사실은 간단하다. 소스를 보기 전에 간단히.. 2013. 7. 21. [첫번째 스터디] singleton 패턴 2013년 07월10일 사내 스터디가 부활 하였다. 두둥~2번째 용수철 스터디가 시작 되었다.처음에는 굿택과 둘이서 하려고 하였다가 2명을 더 추가하여 소스정예로 하게 되었다.^-^good~ 이번 사내 스터디의 내용은 디자인 패턴이다!!!개발코드를 중심으로 하는 스터디 이며, 매우 성실하게!! 해야 할 것이다. 이제 주저리는 그만하고..본론으로 패턴에 대해 알아보도록 하겠다^-^ part 1. singleton pattern 싱글톤 패턴!!~ 싱글+톤 마치..싱글 : 혼자, 하나 인 느낌톤 : 스켈레톤 할 때 뼈대의 느낌 인 듯 하다. 그래서 싱글톤은 하나의 뼈대?? 라고 생각하면 될 것 같다.(저만의 생각입져..ㄷㄷ)즉, java에서는 oop 즉 객제지향으로 봤을 때 싱글톤의 하나의 뼈대란 하나의 객체.. 2013. 7. 21. [DesignPattern] Facade Pattern-#1_I'm unloading the luggage in my heart.. 나의 마음의 짐을 내려 놓기 위해 공부 한다. about Fasade 패턴..! 이 패턴은 프로그램이 점점 커져 많은 클래스가 만들어져 상호 연관을 맺으면서 복잡 해지는 상황에서 우리는 클래스간의 관계를 올바르게 이해하고 정확한 순서대로 메소드를 호출해야 한다. 어원 fasade는 프랑스어인 facade가 어원으로 '건물의 정면' 이라는 의미 이다. Fasade 패턴은 복잡하게 얽혀 있는 것을 정리 해서 높은 레벨의 인터페이스(API)를 제공. 역할은 시스템의 외부에는 간단한 인터페이스를 보여주면서, 시스템의 안쪽에 있는 각 클래스의 역할이나 의존관계를 생각해서 올바른 순서로 클래스를 이용하는 역할을 한다. 자 이제 신나는 소스를 보도록 하자. 대충 복잡한 것을 하나의 창구를 두고 처리 하겠다는 의미이다.. 2013. 1. 16. 이전 1 다음 반응형