'아키텍처와 공학' 카테고리의 다른 글
프로그램시 고려해야하는 Validation의 종류 (0) | 2009.10.26 |
---|---|
소프트웨어 Decomposition (0) | 2009.10.26 |
컴포넌트 Dependency (0) | 2009.10.26 |
컴포넌트 구현 스타일 중에서(Instance-based style vs Service-based style) (0) | 2009.10.26 |
RUP 4+1 VIEW (2) | 2009.10.26 |
Inheritance
Assuming that the component is implemented as aclass in an OO language, inheritance can be used as a white-box technique to specialize the component for its context. Using inheriance, the component (re)user can define a subclass and add the application-specific behaviour to the component behaviour. Depending on the OO language that was used to implement the component, different mechanisms may be available to control the specialization of component behaviour. By defining operations as abstract, the component developer can require the component user to extend those operations. Similary, by defining operations as final, the component developer can block the component user to extend behaviour that would potentially lead to inconsistencies. Inheritance has a number of associated disadvantages, especially due to the fact that forms a logical entity is divided over multiple components. This may, among others, complicate the understandability and testing of components
Extensions
An extension is a variation point where the component user provides one out of several variants of some behaviour. The strategy design pattern is a typical example of using extensions. The underlying idea is to factor out functionality that may vary form stable functionality and to model the variable functionality as an independent entity. The different instances of variable functionality are implemented as variants and the component user can either select an existing variant or develop a new variant
Configuration
A third approach to handling variability is to include all variants at all variantion points into the component and to provide an interface to the component user. This interface allows the user to set parameters that select particular variants at the variantion points. Through the use of , for instance, procedure parameters, components can even be configured for invoking component.
Template instantiation
Components, at times, need to be configured with application-specific types. A typical example is list-handling or queue component that needs to be configured with the type of element that is to be stored in the use of templates, I.e. component definitions that can be instantiated for particular types. Templates are particularly useful for performing type adaptation.
Generation
The final type of variability mechanism to be discussed here is the notion of a component generator. The typical use of this approach is that the component user prepares a specification in some language, e.g a domain-specific or component-specific language. This specification is taken as input by a generator, or high-level compiler, that translates the specification into, generally, a source-code-level component that can be incorporated into the product ar pplication that component user is concerned with. Typcal examples of this approach can be found in graphical user interfaces where either a graphical or textual specification is used to generate a source-code component that implements the desired functionality
프로그램시 고려해야하는 Validation의 종류 (0) | 2009.10.26 |
---|---|
소프트웨어 Decomposition (0) | 2009.10.26 |
컴포넌트 Dependency (0) | 2009.10.26 |
컴포넌트 구현 스타일 중에서(Instance-based style vs Service-based style) (0) | 2009.10.26 |
RUP 4+1 VIEW (2) | 2009.10.26 |
사람이 마음으로 자기의 길을 계획할지라도 그 걸음을 인도하는 자는 여호와시니라(잠16:9) by sjokim |
||
|
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.