[- Disclaimer -]
아래 내용은 정보보안 공부 목적으로 작성된 것이나, 이를 토대로 허가되지 않은 대상에 실습을 진행할 경우 해킹 시도로 간주하여 법적 처벌을 받을 수 있음을 알려 드립니다.
Architecture Pattern (=아키텍쳐 패턴, 아키텍쳐 스타일, 표준 아키텍쳐)
✦ Architecture 설계 시 참조용 Ex) 가이드 라인
✦ Disign Pattern 이 세부적 구성 요소 대상이라면 이건 큼직한 건물 대상
✦ 장점
✧ 개발 시간을 단축해 고품질 S/W 생산
✧ 검증, 안전, 개발 전 특성 예측
✧ 공통된 아키텍쳐 공유로 인해 이해 관계자들 간 의사 소통 간편
✧ 시스템 구조 이해가 쉬워 개발 미참여자도 쉽게 유지 보수 가능
Layers Pattern
✦ Sub 시스템 간 계층 구조
✦ 상위 계층은 하위 계층에 대한 서비스 제공자
✦ 마주 보면 계층끼리만 상호 작용 영향
✦ Ex) OSI 7 Layer
Client Server Pattern
✦ 익히 아는 거
Pipe Filter Pattern
✦ 각 단계마다 Filter Component로 캡슐화 후 pipe를 통해 데이터 전송
✦ 재사용성 좋음, 추가 확장 용이
✦ Data 변환, Buffing, 동기화, Unix의 Shell 등에 사용
MVC (=Module-View- Controller Pattern)
✦ 3개 서브 시스템으로 구조화
✧ Model: 서브 시스템 핵심 기능, 데이터 보관
✧ View: 사용자에게 정보 표시
✧ Controller: 사용자 입력 처리
✦ 각 부분별 Component로 분리
✦ 다수 View 생성 가능
✧ 여러 View를 필요로 하는 대화형 Application에 적합
기타 Pattern들
✦ Master-Slave Pattern
✧ Slave에게 작업 지시 후 결과 받기
✦ 장애 허용 시스템, 병렬 컴퓨터에서 사용
Broker Pattern
✦ 사용자 요청 시 요청에 맞는 Component와 주선자 역할
✦ 다수 원격 호출 응답 Component에 적합
✦ 분산 환경 시스템에사 사용
Peer To Peer Pattern
✦ Peer 자체가 Component로 간주 가능
✦ Client/Server 와리가리
✦ Multi-Threading 사용
Event Bus Pattern
✦ 특정 Channel에 Event 발행 시 해당 Channel을 Subscribe한 Listener들이 Message 수신 및 처리
Blackboard Pattern
✦ Component들은 검색을 통해 블랙보드 Component에 접근 가능
✦ 미해결책 처리 시 유용
Interpreter Pattern
✦ Code 내 각 Line 수행 방법 지정
✦ 기호마다 Class를 갖도록 구성
✦ 특정 언어로 적성된 프로그램 Code 해석 Component 설계 시 유용



