Design Patterns(28)
-
Facade Pattern ② Coding
후.. 퍼사드를 상상하는데 좀 오래걸렸습니다.. 그렇다고 하루라는 시간이 걸린건 아니구요.. 'ㅡ';; 어제는 일이 생겨버리는 바람에... 개요 해놓고 후다닥 나가버렸습니다 ㅠㅠ 일헌.... 여튼.. 시작한지 얼마 되지도 않았는데 너무 게으름을 피우는거 같습니다.. 음.. 여튼.. 사설이 너무 길었고... 이런식으로 한번 생각을 해봤습니다. 일단.. 이번에도 스타크래프트 -_-)乃 를 또.. ㅋㅋㅋㅋ 여튼.. 봅시다.. 빌드 오더.. 대충 아시죠??? 들.. -_- (아세요 좀..) 게임을 한다고 가정하면.. 초반 빠른 닥템 러쉬를 위해서는 일꾼도 만들고.. 첨에 입구 막을 질럿 두마리도 뽑아주고.. 테크트리 타고.. 템플러 아카이브 짓고 닥템 두마리 뽑아서 샤샤샥.. 하면 되잖아요? 아래는 그걸 좀 그..
2007.07.05 -
Facade Pattern ① 개요
퍼사드 패턴.. 완죤 멋있죠? 이름이 멋있다는 겁니다 -_-;; 아직 퍼사드가 뭐하는 놈인지 몰라효... 그래서 퍼사드를 일단 배워야죠... -_- 뭐라는거니..;;; 아무튼.. 어댑터 패턴을 배우면서 생각했습니다.. 일단 뭐 어댑터 패턴이 어떤 인터페이스를 다른 인터페이스에 맞도록 하는 어댑터 클래스를 하나 생성하는 방식입니다. 그럼.. 좀 다른 방법을 강구를 해보면.. 해당 인터페이스보다 더 큰 상위 개념의 인터페이스를 작성하는 것도 하나의 방법인것 같습니다. 그래서 나온 퍼사드 패턴을.. 인터넷에서 쭉 돌아다니다 보니까.. 이런 얘기를 하더라고요... 퍼사드 패턴이 적용된 매쏘드를 읽고 있으면 마치 batch file(*.bat)을 읽고 있는 느낌입니다. 90년대 초반 DOS게임들은 bat파일로 시..
2007.07.04 -
Adapter Pattern ③ 마무리하며..
어댑터 패턴에 대해서 간략히 알아봤는데요.. 어댑터 패턴이라는 놈을 멋있게 표현하면... (그럴싸하게;;;) 한 클래스의 인터페이스를 클라이언트에서 사용하고자 하는 다른 인터페이스로 변환합니다. 어댑터를 이용하면 인터페이스 호환성 문제 때문에 같이 쓸 수 없는 클래스들을 연결해서 쓸 수 있습니다.라고 책에서 정리를 하고 있습니다. 그러면.. 제가 만든 예제 소스 다이어 그램 말고.. -ㅅ- 보편적으로 사용되는 어댑터 패턴 클래스 다이어그램을 살펴보도록 하겠습니다. 완전 대따!!! 간단합니다... 'ㅡ' ㅋㅋㅋㅋ 일단 총 4가지의 클래스 및 인터페이스를 확인 할 수 있는데요.. 1. Client 2. IService 3. Adapter 4. Adaptee총 4가지가 있습니다. Client는 말 그대로 어떠..
2007.06.26 -
Adapter Pattern ② 예제 소스
음.. 일단.. 이번에도 스타크래프트를 예를 들어서 소스코드를 만들었습니다. 우선 테란 유닛들에 대해서 잘 생각해 보면.. 모든 유닛이 공통적으로 가능한 것들이 클릭했을때 어떠한 특정한 목소리를 내는것이고.. 하나는 적군 유닛을 공격하도록 합니다. 그래서 아래와 같이 UML 이 그려졌습니다. 일단 TerranUnitInterface 라는 것을 만들어 주구요.. 이걸 구현하는 클래스가 원래는 2개가 있었습니다. 바로 Marine 클래스와 SiegeTank 클래스입니다. 둘다 attack() 과 clickIntAction() 메소드를 오버라이드 하고 있구요.. 그런데.. 확장팩이 생기면서 메딕이라는 유닛이 나타났습니다. 이유닛은 똑같이 공격 명령을 내리는데.. 메딕은 공격대신에 아군을 치료한다고 합니다. 비..
2007.06.26 -
Adapter Pattern ① 개념 정리
책에서도 나오지만.. 어댑터라는 개념은...-_-;; 별로 어려운 내용이 아니더라구요.. 실제로 많이 사용하는 전기 플러그를 떠올리면 되겠습니다 -ㅅ-// 흔히 돼지코라고도 불리우는데.. 디지털 카메라.. (내수품으로) 사용하시는 분들은 익히 잘 아실것이라고 생각합니다. 110V 의 전원을 220V 의 전원을 사용하는 우리나라에서 사용하려면 특수한 어댑터가 필요한 겁니다. 그런 역할을 하는 것이 이 어댑터라는 개념입니다. 그러면 어댑터 패턴은 뭘까요? 예를 들자면.. 어떤 회사에서 물건을 구입하는 시스템을 만든다고 했다고 가정합니다. 여러사람들이 각각 자기가 맡은 분야의 클래스들을 작성을 해오는데.. 사람마다 저마다 틀리기 때문에 인터페이스가 통일이 되지 않을 수 있고.. 또 다른 시스템을 외부에서 도입..
2007.06.26 -
Command Pattern ③ 정리
식당을 예를 들어서 커맨드 패턴을 정의 해봤습니다. 'ㅡ';; 미친놈 소리 하질지 모르겠지만.. 재미있지 않나요;;? 컴퓨터라는 것은 사람의 일상을 벗어나지 않는것 같습니다. 제 아무리 컴퓨터라도.. 어쩔수 없는게지요 -ㅅ-.. 사실 사람 머리에서 나온 컴퓨터가 뭐 지 혼자서 하는게 있겠습니까;; ㅋㅋ 여튼.. -ㅅ-;; 커맨드 패턴을 한마디로 정의하면.. 이렇다고 하네요.. 커맨드 패턴을 이용하면 요구 사항을 객체로 캡슐화 할 수 있으며, 매개변수를 써서 여러 가지 다른 요구 사항을 집어넣을 수도 있습니다. 또한 요청 내역을 큐에 저장하거나 로그로 기록할 수도 있으며, 작업 취소 기능도 지원 가능합니다. 머 뻔드러지게 이야기는 했지만.. -ㅅ-; 쉽게 말하면, execute() 메소드를 호출하므로서 모..
2007.06.19