javaboiii의 Web

Web - M V C 작업 시 유의사항

javaboiii 2024. 9. 3. 23:02

WEB

기능추가가 이루어질 때

내부적으로 경쟁력이 없다고 생각될 때

내부적으로 해당 기능이 애플리케이션의 경쟁력을 높이지 않는다고 판단될 때의 경우

기능 추가의 필요성을 다시 한 번 평가하고, 추가적인 시간을 투자하기 전에 기능이 정말로

가치가 있는지 검토해야 함

 

외부적으로 클라이언트의 요구에 의해

클라이언트의 요구에 따라 기능을 추가할 때는 사용자의 필요를 충족시키기 위해 신속하고 정확하게 대응해야 함

기능 추가에 따른 요구 사항을 명확히 파악하고, 요구 사항이 애플리케이션의 전반적인 구조와

잘 통합될 수 있도록 신경 써야 함

MVC 구성 요소별 유의사항

1. 모델(Model)

역할: 애플리케이션의 데이터와 비즈니스 로직을 담당
데이터베이스와의 상호작용을 통해 데이터를 처리하고, 비즈니스 로직을 구현함

 

유의사항: 모델의 책임은 데이터의 처리를 명확히 하고, 비즈니스 로직이 컨트롤러나 뷰에 영향을 미치지 않도록 해야 함

또한, 모델 클래스는 가능한 한 단순하고 유지 보수하기 쉽게 설계하는 것이 중요

2. 뷰(View)

역할: 사용자 인터페이스를 담당하며, 모델의 데이터를 사용자에게 보여줌

 

유의사항: 뷰는 데이터의 표시와 사용자 인터페이스의 구성에 집중해야 하며, 비즈니스 로직을 포함해서는 안 됨

뷰에서 처리하는 로직은 가능한 최소화하고, 데이터의 표시와 사용자 상호작용에만 집중해야 함

3. 컨트롤러(Controller)

역할: 사용자 입력을 처리하고, 적절한 모델과 뷰를 호출하여 애플리케이션의 흐름을 제어

 

유의사항: 컨트롤러는 사용자 입력을 처리하고, 데이터를 모델과 뷰에 전달하는 역할

컨트롤러는 각 기능에 대해 하나의 액션을 담당하며, 데이터 로직은 모델에 맡김

MVC에서의 요청 처리 예시

  1. 글 작성 페이지로 이동
    • 사용자가 글 작성 버튼을 누르면
      • V (View): 사용자의 요청을 받아서, C (Controller)에 전달
      • C (Controller): 요청을 처리하고, 적절한 V (View)를 반환
      • V (View): 글 작성 페이지를 사용자에게 표시
  2. 글 작성 및 저장
    • 사용자가 글 내용을 작성하고 글 작성 버튼을 누르면
      • V (View): 사용자가 작성한 데이터를 C (Controller)에 전달
      • C (Controller): 요청을 받아서, Model (DAO)에 전달하여 글 작성 작업을 수행
      • Model (DAO): 데이터베이스에 새로운 글을 추가
        (DAO Data Access Object)는 데이터베이스에 INSERT 작업을 수행)
      • C (Controller): 작업 완료 후 결과페이지(메인페이지 또는 글 상세 페이지 또는 글 목록 페이지)로 이동시킴
      • V (View): 메인 페이지를 사용자에게 표시

 

MVC 패턴을 효과적으로 활용하기 위해서는 각 구성 요소의 역할과 책임을 명확히 하고,

기능 추가 시 내부와 외부 요구 사항을 잘 고려해야 함

기능 추가와 관련하여 애플리케이션의 구조와 요구 사항을 면밀히 분석하고, 각 구성 요소가 잘 분리되어 유지 보수와 확장이 용이하도록 설계하는 것이 중요