1. 계층형 모델 (Layered Model) : 소프트웨어 시스템을 여러 계층으로 구성하여 설계하는 모델이다. 각 계층은 특정한 기능을 수행하고 상위계층은 하위계층에 의존한다. 이 모델은 시스템의 구조를 단계적으로 추상화하여 모듈화 하고 계층형 모델은 일반적으로 다음과 같은 계층으로 구성된다.
- Presentation Layer(프레젠테이션 계층) : 사용자와 시스템 간의 상호작용을 처리하는 계층이다. UI와 관련된 로직이 위치하며 사용자로부터 입력을 받아 처리한다.
- Business Layer(비즈니스 계층) : 비즈니스 로직을 수행하는 계층이다. 데이터의 처리와 계산, 유효성 검사 등 비즈니스 도메인에 특화된 기능을 담당한다. 이 계층의 경우 사용자의 요청에 대한 비즈니스 규칙을 구현하고 데이터베이스나 외부 시스템의 상호작용을 처리한다.
- Data Acess Layer(데이터 접근 계층) : DB 또는 외부 데이터 소스와의 상호작용을 담당한다. 데이터의 저장이나 검색, 수정, 삭제 등 데이터와 관련된 작업을 처리한다. 비즈니스계층으로부터 요청을 받아서 DB와의 통신을 수행하고 결과를 비즈니스 계층에 반영한다.
2. 클라이언트-서버 모델 (Client-Server Model) : 클라이언트와 서버간의 역할과 책임을 명확히 분리하여 시스템을 구성한다. 클라이언트는 UI를 제공하고 사용자의 요청을 받아 서버로 전달을 한다. 클라이언트는 서버로부터 결과를 받아와 사용자에게 표시한다. 서버는 클라이언트의 요청을 받아 해당 요청을 처리한다. DB, 파일시스템, 다른 서버 등과 같은 리소스에 접근해 작업ㄷ을 수행하여 클라이언트로 결과를 전송한다. 클라이언트와 서버간의 통신은 네트워크를 통해 이루어진다.
3. MVC 모델 (Model-View-Controller Model) : 에프리케이션을 Model, View, Controller로 분리하여 설계한다.
- Model : 데이터와 비즈니스로직을 담당한다. 에플리케이션의 상태와 데이터를 관리하며 데이터의 유효성검사나 데이터베이스와 상호작용 등을 수행한다. 모델은 데이터 변경을 감지하며 변경사항을 알림으로써 뷰와 컨트롤러를 업데이트하는 역할을 한다.
- View : 뷰는 사용자에게 정보를 표시하는 부분으로 주로 사용자 인터페이스를 담당한다. 모델로부터 데이터를 가져와 사용자에게 시각적인 표현으로 제공하며 사용자의 입력을 받아 컨트롤러로 전달한다. 데이터의 변경을 감지하지 않고 모델로부터 받은 데이터를 그데로 표현한다.
- Controller : 사용자의 입력을 처리하고 모델과 뷰 사이의 상호작용을 조정한다. 사용자의 입력을 받아 해당하는 작업을 모델에 요청하고 모델의 결과를 받아 뷰로 반영한다. 컨트롤러는 모델과 뷰 사이의 인터페이스 역할을 하며 에플리케이션의 동작 흐륾을 제어한다.
4. 파이프-필터 모델 (Pipe-Filter Model) : 데이터 처리를 일련의 단계로 분리하여 각각의 단계를 파이프라인으로 연결하고 필터를 통해 데이터를 처리하는 방법이다.
- 파이프(Pipe) : 데이터 흐름을 나타내는 개념으로 한 단걔에서 다른 데이터로 전달하는 역할을 한다. 데이터는 파이프라인을 통해 순차적으로 이동하며 연속된 단계들 간의 데이터흐름이 이루어진다.
- 필터(Filter) : 필터는 데이터 처리하는 단계로 특정 기능을 수행한다. 입력 데이터를 받아서 처리한 뒤에 결과를 출력으로 내보낸다. 필터는 독립적으로 동작을 하게 되며 다른 필터와의 상호작용 없이 입력을 받아 처리한 뒤에 출력을 생성한다.
'study' 카테고리의 다른 글
테스트케이스 (0) | 2023.07.05 |
---|---|
Model, Sheet, Component, Cell Object (0) | 2023.06.24 |
클래스와 객체 (0) | 2023.06.24 |
UI 종류 (0) | 2023.06.23 |
GOF(Gang of Four) 디자인 패턴 (0) | 2023.06.23 |