Software Functional Components와 Interface
Software Component는 연관된 기능을 캡슐화한 software package 또는 module을 일컫는다. 내부에는 기능적으로는 일부 Use Case의 functionality를 포함하고 있으며 그 크기에 따라 Class일수도 있고 Package일 수도 있다.
Component는 Interface를 통해 다른 component와 통신하는데 interface를 component 내부의 implementation과 분리함으로써 component의 replaceability를 높일 수 있다.
- Blackbox Component with Facade Type Interface
- Use case의 functionality가 Interface의 method가 됨.
- Blackbox Component with Mediator Type Interface
- Use case의 sequence diagram의 workflow를 통해 interface의 method가 도출됨.
- 통상, Facade type보다 개수가 적음. 하지만 workflow의 변경이 있는 경우, interface가 추가되거나 변경될 수 있음.
- Whitebox Component
- Component level의 interface를 제공하지 않는다.
Interface의 타입별 특성을 알아보자.
- View Component의 Interface
- Single system인 경우, API가 아닌 end-user를 위한 UI 그 자체일 수 있다.
- Platform인 경우라면 다양한 application을 위한 API일 수도 있다.
- Data Component의 Interface
- Data Component는 주로 서로 연관된 Entity Object들의 집합
- Entity Object의 Interface
- 해당 Entity Object가 다루는 데이터를 attribute로 가지며 그 attribute에 대한 CRUD operation이 interface가 된다.
- Entity Object는 persistent storage (Database등) 에 대한 dependency를 숨겨주는 역할을 한다.
- Data Component의 Interface는 entity object들에 대한 Facade type API임
- Data를 다루는 기능이므로 workflow를 제공하는 Mediator type API를 가지지 않음.
0개의 덧글:
댓글 쓰기
에 가입 댓글 [Atom]
<< 홈