Design Patterns(10)
-
Facade Pattern ① 개요
퍼사드 패턴.. 완죤 멋있죠? 이름이 멋있다는 겁니다 -_-;; 아직 퍼사드가 뭐하는 놈인지 몰라효... 그래서 퍼사드를 일단 배워야죠... -_- 뭐라는거니..;;; 아무튼.. 어댑터 패턴을 배우면서 생각했습니다.. 일단 뭐 어댑터 패턴이 어떤 인터페이스를 다른 인터페이스에 맞도록 하는 어댑터 클래스를 하나 생성하는 방식입니다. 그럼.. 좀 다른 방법을 강구를 해보면.. 해당 인터페이스보다 더 큰 상위 개념의 인터페이스를 작성하는 것도 하나의 방법인것 같습니다. 그래서 나온 퍼사드 패턴을.. 인터넷에서 쭉 돌아다니다 보니까.. 이런 얘기를 하더라고요... 퍼사드 패턴이 적용된 매쏘드를 읽고 있으면 마치 batch file(*.bat)을 읽고 있는 느낌입니다. 90년대 초반 DOS게임들은 bat파일로 시..
2007.07.04 -
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