카테고리 없음

Evolving Framework

파이팅야 2009. 1. 14. 16:57

해당글의 내용은 개인적인 해석이므로 원문을 읽어보자
(http://st-www.cs.uiuc.edu/users/droberts/evolve.html)

#. Framework 발전시키는 9가지 패턴


1. Three Example

             - Framework의 개발을 시작하려 할 때

             - Application 3번 만드는데 첫번째는 고객으로 부터 요구분석을 잘해서 개발하고,

             2번째는 Whitebox, 3번째는 BlackBox가 됨. 3개의 프로젝트를 같은사람이 연이어서 수행 해야함

2. Whitebox Framework

             - 2번째 Application을 만들 때

             - Inheritance Composition을 적절히 조합해서 사용(변하는 부분은 상속받도록 구현한다.)

3. Component Library

             - Whitebox Framework으로 Application을 만들 때 유사한 Object를 Framework에서 instance생성하는 중복을 막을 때

             - 자주 사용하는 Concrete Class들을 취합하여 Component Library에 추가하라.

4. Hot Spots

             - Component Library에 추가 시 유사한 중복된 코드가 발견될 때

             - 다음의 패턴을을 이용해 캡슐화하고 모음

What varies

Design Pattern

Algorithms

Strategy, Visitor

Actions

Command

Implementations

Bridge

Response to change

Observer

Interactions between objects

Mediator

Object being created

Factory Method, Abstract Factory, Prototype

Structure being created

Builder

Traversal Algorithm

Iterator

Object interfaces

Adapter

Object behavior

Decorator, State

5. Pluaggable Object

             - Component Library Component추가 시 작성하는 subclass대부분이 조금씩 다른경우

             - refactoring parameter Object와 같이 모델을 사용해서 레퍼런스를 넘겨라

6. Fine-Grained Object

             - Component Library의 재 사용성을 얼마나 작은 객체로 나누어야 할지?

             - 여러 개의 Behavior를 캡슐화한 클래스가 만들어진 것이 있으면 사용하고 없으면 생성하면서 관리하라.

7. BlackBox Framework

             - 상속관계의 강결합에 유연성이 떨어지는 문제를 어떻게 해결할 것인가

             - Composition을 사용해서 유용성있게 사용해라.

8. Visual Builder

9. Language Tools

 

. 출처 및 관련사항들

Ralph Johnson의 원문 : http://st-www.cs.uiuc.edu/users/droberts/evolve.html

관련 URL : http://fdg.springnote.com/pages/1618620
관련 ppt파일이 있는 URL : http://fdg.springnote.com/pages/2090206