본문 바로가기

POSA3

POSA, 패턴 시스템 패턴 시스템에 대하여 마인드 맵으로 정리해보았다. 패턴 분류와 관련하여 GoF 디자인 패턴의 목적(purpose)과 범위(scope) 분류에 대한 부정적 서술이 눈에 띈다. 게다가 이 글을 작성한 사람은 GoF 패턴 집필진 중 한명인 Richard Helm 이다. 아울러 패턴 분류를 위한 분류 스키마를 제안하고 있는데 꽤 괜찮아보인다.(도입해야지~^^) 아키텍처 패턴 디자인 패턴 이디엄 혼돈에서 질서로 from mud to structure Layers Pipes and Filters Blackboard Interpreter 분산 시스템 distributed system Broker Pipes and Filters Microkernel 상호작용 시스템 interactive system MVC PVC 적응.. 2012. 2. 14.
POSA, Forwarder-Receiver 패턴 POSA 의 통신관련 대표적인 패턴으로, 분산 시스템의 컴포넌트와 통신을 위해 사용하는 메커니즘 간 결합도(coupling)를 줄이는 방법 중 하나이다. 결합도를 낮추기 위하여 캡슐화와 위치 투명성을 고려하여야하는데 Forwader-Receiver 패턴은 캡슐화의 역할을 한다. 전체적인 구조에서 보았을 때, Peer 와 Peer 간의 통신을 나타내며 직접적인 송수신 파트는 Forwader 와 Recevier 가 담당한다. DCOM 이나 CORBA 관련 자료를 본 적이 있다면 마샬링이나 언마샬링 등이 익숙할 것이다. Peer : 어플리케이션 서비스를 제공한다. 다른 피어들과 통신한다. Forwarder : 메시지를 보내기 윈한 일반적인 인터페이스(SendMsg)를 제공한다. 원격 수신기에 보내는 메시지를 .. 2012. 1. 31.
POSA, Whole-Part 패턴 GoF 의 디자인패턴이 상당히 구체적이라면, POSA 의 디자인패턴은 좀 더 범위가 두루둥실하다. 사실, 이 Whole-Part 패턴의 경우 어느 정도 OOP 를 해온 경험이있다면 당연한 이야기에 이름을 붙인 정도라고 볼 수 있다. 가령, 인터페이스 혹은 추상화된 기능을 정의(클래스)하고 각 기능의 위임 역할을 하는 클래스들을 결합하여 사용하는 것은 상식에 가까운 설계이지 않을까? 여기서 추상화된 기능을 정의한 클래스가 Whole 이 되고 위임을 하게된 클래스들이 Part 가 된다. 아울러 GoF 의 디자인패턴에 비해 좀 더 범위가 크다고 했는데, Composite 패턴이 이러한 Whole-Part 패턴의 일종으로 설명되고 있다. 이때, TComposite 가 Whole 이 될 것이고 TLeaf 가 Pa.. 2012. 1. 30.