1. 협약(Contact)에 의한 설계
- 컴포넌트를 설계할 때 클래스에 대한 여러 가정을 공유할 수 있도록 명세한 것
- 소프트웨어 컴포넌트에 대한 정확한 인터페이스를 명세
1) 선행조건(Precondition) : 오퍼레이션이 호출되기 전에 참이 되어야 할 조건
2) 결과조건(Postcondition) : 오퍼레이션이 수행된 후 만족되어야 할 조건
3) 불변조건(Invariant) : 오퍼레이션이 실행되는 동안 항상 만족되어야 할 조건
2. 파이프-필터 패턴(Pipe-Filter Pattern)
- 데이터 스트림의 절차의 각 단계를 필터(Filter) 컴포넌트로 캡슐화하여 파이프(Pipe)를 통해 데이터를 전송하는 패턴
- 필터 컴포넌트는 재사용성이 좋고, 추가가 쉬워 확장이 용이
- 필터 컴포넌트를 재배치하여 다양한 파이프라인 구축하는 것이 가능
- 주로 데이터 변환, 버퍼링, 동기화에 사용
- UNIX 의 쉘(Shell)
Source ---------(pipe1)----------------> Filter1 -------------(pipe2)------------------>Filter2---------------(pipe3)-------------->Sink
3. 모델-뷰-컨트롤러 패턴(Model-View-Controller Pattern)
- 서브시스템을 3개의 부분으로 구조화하는 패턴
Model : 서브시스템의 핵심 기능과 데이터를 보관
View : 사용자에게 정보 표시
Controller : 사용자로부터 입력된 변경 요청을 처리하기 위해 모델에게 명령을 보냄
Input ---------------> Controller -----------(갱신)--------------> Model
| |
| (제어) | (View->Model : 정보 요청)
| | (Model -> View : 변경 알림)
▼ |
Output <--------------------- View-------------------------------------
4. 기타 패턴
1) 마스터-슬래이브 패턴(Master-Slave Pattern)
2) 브로커 패턴(Broker Pattern)
3) 피어-투-피어 패턴(Peer-To-Peer Pattern)
4) 이벤트-버스 패턴(Event-Bus Pattern)
5) 블랙보드 패턴(BlackBoard Pattern)
6) 인터프리터 패턴(Interpreter Pattern)
'자격증 > 정보처리기사' 카테고리의 다른 글
5과목 정보 시스템 구축 (2) (0) | 2023.07.06 |
---|---|
5과목 정보 시스템 구축 관리 (1) (0) | 2023.07.06 |
1과목 소프트웨어 설계 (4) (0) | 2023.02.21 |
1과목 소프트웨어 설계 (3) (0) | 2023.02.17 |
1과목 소프트웨어 설계 (2) (0) | 2023.02.15 |