최대 1 분 소요

CRUD 작동 원리

  • 구조
        DB
        ↓
     persistence           ↔       business         ↔         controller 
                    
                    model                         model           ↓
                  (DTO,VO)                       (DTO,VO)        view
                                                                  ↓
                                                                Client
                       
                                    

 

persistence(퍼시스턴트)

역할: 데이터 처리를 담당하는 계층이다

주로 데이터의 생성/수정/삭제/검색과 같은 CRUD 연산을 수행하게 된다

(재료를 담당하는 담당자이다) -DAO/DTO

NoticeMapper.xml

NoticeMapper.java

Control(제어계층)

역할:프리젠테이션 계층과 비즈니스 로직 계층을 분리하기 위한 컨트롤러를 제공한다

(종업원의 역할)

기능: 관계형 정보를 저장하고 수정/삭제 및 수행시 필요로하는 질의문을 관리하는것, 관계형 정보를 객체화한다

NoticeController

 

Service(비지니스 계층)

역할:핵심 업무를 어떻게 처리하는 지에 대한 방법을 기술한다 (재료를 이용해 요리를 만드는 요리사)

역할: 핵심 업무 로직의 구현과 그에 맞는 데이터의 적합성 검증 외에 다양한 부가적인 구현이 추가된다

트랜잭션 처리 나 다른 계층과의 통신을 하기 위해 인터페이스를 제공하거나 해당 계층들 간의 관계를 관리한다

NoticeService

NOticeServiceimpl

 

Domain(도메인계층)

역할:각 계층 사이에 전달되는 실질적인 비즈니스 객체이다 (음식이 담긴 그릇)

기능: 데이터 전송객체(DTO)형태로 개발자가 직접 제작해서 세션이나 리퀘스트같은 컨텍스트에 담아 넘기게 된다

 

Presentation(프리젠테이션 계층)

역할: 사용자의 인터페이스 (메뉴판과 식탁)

기능: 사용자가 선택할 수 있는 기능이 표시 되어 있어야 하고 요청에 필요한 부가적인 정보 전달을 위한 입력 양식이 있어야한다

전달된 자료를 효과적으로 보여주기 위한 프리젠테이션 로직이 있어야 한다

비즈니스 로직이나 퍼시스턴스 계층에서 처리하는 일을 직접수행 하거나

각 계층의 컴포넌트와 직접적인 통신이 있으면 안된다

모든 요청은 제어 계층을 통해 처리 되어야한다

Notice-detail.jsp/Notice-list.jsp

댓글남기기