목록디자인패턴 (5)
Dailelog

커맨드 패턴이란커맨드 패턴을 사용하면 요청 내역을 객체로 캡슐화해서 객체를 서로 다른 요청 내역에 따라 매개변수화할 수 있습니다. 이러면 요청을 큐에 저장하거나 로그로 기록하거나 작업 취소 기능을 사용할 수 있습니다.만능 리모컨여기 재미있는 리모컨이 있다고 가정해 보겠습니다. 이 리모컨에는 프로그래밍이 가능한 7개의 슬롯이 있고 각 슬롯에 원하는 제춤을 연결한 다음 옆에있는 버튼으로 조각할 수 있습니다. 그리고 7개의 슬롯마다 각각 ‘ON’ 버튼과 ‘OFF’ 버튼이 존재합니다. 그리고 마지막으로 ‘UNDO’ 버튼이 존재합니다. 우리는 이 리모컨을 여러 다양한 기기를 제어할 수 있는 만능리모컨으로 만들 예정입니다.위에 다이얼로그는 리모컨으로 제어해야하는 객체입니다. 클래스가 많은데 공통적인 인터페이스가 있..

팩토리 메소드 패턴이란?팩토리 메소드 패턴 (Factory Method Pattern) 에서는 객체를 생성할 때 필요한 인터페이스를 만듭니다. 어떤 클래스의 인스턴스를 만들지는 서브클래스에서 결정합니다. 팩토리 메소드 패턴을 사용하면 클래스 인스턴스 만드는 일을 서브클래스에게 맡기게 됩니다.위에 내용은 헤드 퍼스트 디자인패턴에서 팩토리 메소드 패턴을 정의입니다. 책의 내용을 토대로 팩토리 메소드를 공부하면서 알게된 내용을 이야기 해보겠습니다.Simple Factory팩토리 패턴을 본격적으로 알아보기 전에 ‘간단한 팩토리’의 대해서 이야기 해보려고 합니다. 객체 생성을 전담하는 create…() 함수를 하나의 클래스에 모아놓는 방법 - simple factory Simple Factory 디자인 패턴은 아..

데코레이터 패턴(Decorator Pattern)이란?데코레이터는 장식하다, 꾸미다라는 뜻의 decorate에 er(or)을 붙인 말인데 장식하는 도구 정도로 설명할 수 있습니다.데코레이터 패턴(Decorator pattern)으로 객체에 추가 요소를 동적으로 더할 수 있습니다. 데코레이터를 사용하면 서브클래스를 만들 떄보다 훨씬 유연하게 기능을 확장할 수 있습니다.예제 개념 - 커피 전문점책에서는 예제를 커피전문점에서 커피를 주문을 예로 데코레이터 패턴을 설명하고 있습니다. 기본 아메리카노를 주문할 때 여러가지 옵션을 추가 함으로써 가격과 요소를 추가하는 등의 변화를 주는 프로그램을 제시하고 있습니다. 고객은 커피를 주문할 때 우유나 두유,모카등 추가하는 경우 추가된 요소에 따른 가격등 여러가지 정보가..

옵저버란?Observer 의 의미는 감시자, 관찰자라는 뜻의 영어단어이고 한국어로는 참관인 정도로 해석할 수있습니다. 그리고 여담으로 영국의 매주 일요일 발행하는 신문이름이 옵저버라고 합니다. ㅋㅋ 디자인 패턴에서 옵저버 패턴(Observer Pattern) 헤드퍼스트 디자인패턴 책에서 정의는 아래와 같습니다.옵저버 패턴은 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체에게 연락이 가고 자동으로 내용이 갱신되는 방식으로 일대다(1:N) 의 의존성을 정의합니다.정의 만으로는 이해가 어려우니 더욱더 자세하게 알아보자옵저버 패턴 이해하기옵저버 패턴에는 주제(subject)객체와 옵저버(observer)객체로 이루어져 있다. 주제객체는 상태변화를 감지하는 객체이다 그리고 중요한 데이터를 관리합니다. 옵저..

참고 서적에서 간단한 오리 시뮬레이터 프로그램을 활용하여 strategy패턴에 대해 설명하고 있습니다.코드를 보고 동일하게 설명을 하면 책의 내용을 읽는것과 다름이 없어서 필요한 부분과 나 자신이 이해한 내용을 정리할 생각입니다.정의strategy의 영단어의 의미는 ‘전략’입니다. 이 책에서 strategy 패턴의 정의는 아래와 같습니다.전략 패턴 (Strategy Pattern)은 알고리즘군을 정의하고 캡슐화해 각각의 알고리즘군을 주정해서 쓸 수 있게 해줍니다. 전략 패턴을 사용하면 클라이언트로 부터 알고리즘을 분리해서 독립적을 변경 할 수 있습니다.오리 시뮬레이터 게임 , SimUduck책에서 예제로 오리게임을 제작한다고 예를 들고 있습니다. 다양한 오리들을 보여주는 프로그램에서 다양한 방식의 개발방..