소프트웨어 아키텍처 스타일: Difference between revisions
From CS Wiki
No edit summary |
No edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 10: | Line 10: | ||
! 예시 | ! 예시 | ||
|- | |- | ||
| | | [[계층형 아키텍처 스타일|계층형 스타일]] | ||
| | | | ||
* SW를 계층 단위(Unit)로 분할 | * SW를 계층 단위(Unit)로 분할 | ||
Line 18: | Line 18: | ||
* 장점 : 정보은닉의 원칙 적용 → 높은이식성 | * 장점 : 정보은닉의 원칙 적용 → 높은이식성 | ||
* 단점 : 추가적인 실행시 오버헤드(너무 많은 계층으로 성능 감소 발생) | * 단점 : 추가적인 실행시 오버헤드(너무 많은 계층으로 성능 감소 발생) | ||
| | | [[파일:계층형 아키텍처 스타일 예시.png|150px]] | ||
|- | |- | ||
| MVC | | MVC | ||
Line 70: | Line 70: | ||
| | | | ||
|- | |- | ||
| | | [[칠판형 아키텍처 스타일|칠판형 스타일]] | ||
스타일 | |||
| | | | ||
* 블랙보드, 지식자원의집합, 컨트롤컴포넌트로 구성 | * 블랙보드, 지식자원의집합, 컨트롤컴포넌트로 구성 | ||
Line 77: | Line 76: | ||
* 장점 : 다양한 접근법, 유지보수성,가변성,재사용 가능한 지식자원 | * 장점 : 다양한 접근법, 유지보수성,가변성,재사용 가능한 지식자원 | ||
* 단점 : 테스팅 어려움, 완전한 해결책 미보장 | * 단점 : 테스팅 어려움, 완전한 해결책 미보장 | ||
| | | [[파일:칠판형 아키텍처 스타일 예시.png|150px]] | ||
|- | |- | ||
| Repository | | Repository | ||
Line 87: | Line 86: | ||
* 단점 : 데이터모델의 사전 동의 필요, 데이터 분산의 어려움 | * 단점 : 데이터모델의 사전 동의 필요, 데이터 분산의 어려움 | ||
| | | | ||
|- | |||
| [[브로커 아키텍처 스타일|브로커 스타일]] | |||
| | |||
* 외부에 분산된 컴포넌트에 값을 전달하고 응답을 받아서 전달해주는 브로커 이용 | |||
* 장점 : 위치 투명성, 연동 용이, 재사용 컴포넌트 확보 용이 | |||
* 단점 : 성능 불이익, 장애 대처 어려움, 디버깅 어려움 | |||
| [[파일:브로커형 아키텍처 스타일 예시.png|150px]] | |||
|} | |} | ||
== 참고 문헌 == | == 참고 문헌 == | ||
* 소프트웨어 아키텍처(이덕우) | * 소프트웨어 아키텍처(이덕우) |
Latest revision as of 08:29, 11 March 2020
- Software Architecture Style
- 아키텍처 설계에서 반복해서 나타나는 문제를 해결하고 아키텍처가 만족시켜야 하는 시스템 품질 속성을 달성할 수 있는 방법을 체계화 한 것
- 아키텍처를 구성하는 컴포넌트와 커넥터 종류와 이것들이 결합하는 방법 정의
- 아키텍처 설계시 이용 가능한 베스트 프랙티스
구분 | 특징 | 예시 |
---|---|---|
계층형 스타일 |
|
|
MVC
스타일 |
|
|
Client
Server 스타일 |
|
|
Pipe &
Filters 스타일 |
|
|
Publish
Subscribe 스타일 |
|
|
Peer-To-Peer
스타일 |
|
|
칠판형 스타일 |
|
|
Repository
스타일 |
|
|
브로커 스타일 |
|
참고 문헌[edit | edit source]
- 소프트웨어 아키텍처(이덕우)