폰카라서 화질이 안습일뿐...
프레임워크 도출 3단계
화이트박스 프레임워크(White Box Framework)
- 구현방식 : 상속(inheritance)이나 동적바인딩(dynamic binding)으로 구현
- 프레임워크 기능확장 : 1) 프레임워크 기초 클래스(base class)를 상속하거나 2) Template Method와 같은 디자인 패턴을 사용하여 미리 정의된 후크 메서드(hook method)를 재정의(overriding)하는 방식으로 기능확장
- 단점 : 1) 어플리케이션 개발자가 프레임워크 내부 구조를 잘 알고 있어야 하며 2) 프레임워크 클래스 계층도의 세부사항과 밀접하게
결합되어 유연성이 결여된 시스템을 구축할 가능성이 많아짐
블랙박스 프레임워크(Black Box Framework)
- 구현방식 : 객체 합성(object composition)이나 위임(delegation)을 사용하여 구현
- 프레임워크 기능확장 : 프레임워크에서 정의한 인터페이스를 실현하는 컴포넌트를 구현하고, Strategy와 같은 디자인 패턴을 사용하여 이들 컴포넌트를 프레임워크 안에 통합시켜 기능확장
- 화이트박스 프레임워크 보다 사용하거나 확장하기는 쉽지만 설계하거나 구현하기는 더 어려움
[출처] Kimgisa's IT Story
[출처] 위키피디아
Design Patterns Documentation

The documentation for a design pattern describes the context in which the pattern is used, the forces within the context that the pattern seeks to resolve, and the suggested solution.[16] There is no single, standard format for documenting design patterns. Rather, a variety of different formats have been used by different pattern authors. However, according to Martin Fowler certain pattern forms have become more well-known than others, and consequently become common starting points for new pattern writing efforts.[17] One example of a commonly used documentation format is the one used by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides (collectively known as the "Gang of Four", or GoF for short) in their book Design Patterns. It contains the following sections:
- Pattern Name and Classification: A descriptive and unique name that helps in identifying and referring to the pattern.
- Intent: A description of the goal behind the pattern and the reason for using it.
- Also Known As: Other names for the pattern.
- Motivation (Forces): A scenario consisting of a problem and a context in which this pattern can be used.
- Applicability: Situations in which this pattern is usable; the context for the pattern.
- Structure: A graphical representation of the pattern. Class diagrams and Interaction diagrams may be used for this purpose.
- Participants: A listing of the classes and objects used in the pattern and their roles in the design.
- Collaboration: A description of how classes and objects used in the pattern interact with each other.
- Consequences: A description of the results, side effects, and trade offs caused by using the pattern.
- Implementation: A description of an implementation of the pattern; the solution part of the pattern.
- Sample Code: An illustration of how the pattern can be used in a programming language
- Known Uses: Examples of real usages of the pattern.
- Related Patterns: Other patterns that have some relationship with the pattern; discussion of the differences between the pattern and similar patterns.
[출처] 위키피디아
Prev
Rss Feed