Patterns for Successful Framework Development

Patterns for Successful Framework Development

Framework란 무엇인가? 그리고 왜 대두되어지고 기존의 라이브러리와의 차이점은 무엇인가?

 

Fraemwork에 대한 자세한 정보를 얻기 위해서는   GoF - Ralph Johnson 과 POSA2 - Douglas Schmidth 의 논문들을 찾아보길 권해드립니다.

Framework = Semi Auto Application (반쯤 자동화된 Application을 의미한다 )

그럼 Framework와 Library의 차이점은 무엇일가?  -> Control Flow를 가지고 있으면 Framework이다.

일반 라이브러리들은 단순히 모듈인 반면에, Framework는 내부적인 흐름을 가지고 좀더 응용, 적용하기 쉬운 구조를 가진다.

대두되는 사항 - Component가 재사용의 단위로 실패했기 때문에 요즘 Framework가 재사용의 단위로 각광박고 있다.

 

요약및 토론 내용

 

프레임워크는 어플리케이션 개발자들로 하여금 코드와 디자인을 재사용할 수 있도록 돕는다.

하지만 프레임워크를 개발하는 일은 결코 쉽지 않은 일이다. 우선, 프레임워크는 여러 어플리케이션이 이용할 수 있는 높은 추상화를

제공해야 하기 때문에 지나치게 일반화되는 경향이 있다. 이는 프레임워크를 필요 이상으로 복잡하게 하여 이해하기 어렵게 만든다.

더군다나 어플리케이션과 프레임워크의 개발을 동시에 진행하는 경우엔 문제가 더 복잡해진다.

 

이 논문에서는 성공적인 프레임워크 개발을 위한 각 단계별 패턴을  절차적으로 기술하고 있다.

 

overview.JPG

 

 

 

 

 

1. Concrete Evidence for Reuse

 

 

 

 

2. The Beauty of Simplicity

 

3. Skilled Team

 

 

4. Pilot Applications

 

5. Small Objects

 

6. Pilot-Based Tests

 

7. Framework User Involvement

 

8. Multiple Change Requests

 

 

결론적으로, 성공적인 모든 프레임워크는 다음과 같은 특징들을 갖는다는 것을 알 수 있다.

 

 

Creative Commons License