WEB
기능추가가 이루어질 때
내부적으로 경쟁력이 없다고 생각될 때
내부적으로 해당 기능이 애플리케이션의 경쟁력을 높이지 않는다고 판단될 때의 경우
기능 추가의 필요성을 다시 한 번 평가하고, 추가적인 시간을 투자하기 전에 기능이 정말로
가치가 있는지 검토해야 함
외부적으로 클라이언트의 요구에 의해
클라이언트의 요구에 따라 기능을 추가할 때는 사용자의 필요를 충족시키기 위해 신속하고 정확하게 대응해야 함
기능 추가에 따른 요구 사항을 명확히 파악하고, 요구 사항이 애플리케이션의 전반적인 구조와
잘 통합될 수 있도록 신경 써야 함
MVC 구성 요소별 유의사항
1. 모델(Model)
역할: 애플리케이션의 데이터와 비즈니스 로직을 담당
데이터베이스와의 상호작용을 통해 데이터를 처리하고, 비즈니스 로직을 구현함
유의사항: 모델의 책임은 데이터의 처리를 명확히 하고, 비즈니스 로직이 컨트롤러나 뷰에 영향을 미치지 않도록 해야 함
또한, 모델 클래스는 가능한 한 단순하고 유지 보수하기 쉽게 설계하는 것이 중요
2. 뷰(View)
역할: 사용자 인터페이스를 담당하며, 모델의 데이터를 사용자에게 보여줌
유의사항: 뷰는 데이터의 표시와 사용자 인터페이스의 구성에 집중해야 하며, 비즈니스 로직을 포함해서는 안 됨
뷰에서 처리하는 로직은 가능한 최소화하고, 데이터의 표시와 사용자 상호작용에만 집중해야 함
3. 컨트롤러(Controller)
역할: 사용자 입력을 처리하고, 적절한 모델과 뷰를 호출하여 애플리케이션의 흐름을 제어
유의사항: 컨트롤러는 사용자 입력을 처리하고, 데이터를 모델과 뷰에 전달하는 역할
컨트롤러는 각 기능에 대해 하나의 액션을 담당하며, 데이터 로직은 모델에 맡김
MVC에서의 요청 처리 예시
- 글 작성 페이지로 이동
- 사용자가 글 작성 버튼을 누르면
- V (View): 사용자의 요청을 받아서, C (Controller)에 전달
- C (Controller): 요청을 처리하고, 적절한 V (View)를 반환
- V (View): 글 작성 페이지를 사용자에게 표시
- 사용자가 글 작성 버튼을 누르면
- 글 작성 및 저장
- 사용자가 글 내용을 작성하고 글 작성 버튼을 누르면
- V (View): 사용자가 작성한 데이터를 C (Controller)에 전달
- C (Controller): 요청을 받아서, Model (DAO)에 전달하여 글 작성 작업을 수행
- Model (DAO): 데이터베이스에 새로운 글을 추가
(DAO Data Access Object)는 데이터베이스에 INSERT 작업을 수행) - C (Controller): 작업 완료 후 결과페이지(메인페이지 또는 글 상세 페이지 또는 글 목록 페이지)로 이동시킴
- V (View): 메인 페이지를 사용자에게 표시
- 사용자가 글 내용을 작성하고 글 작성 버튼을 누르면
MVC 패턴을 효과적으로 활용하기 위해서는 각 구성 요소의 역할과 책임을 명확히 하고,
기능 추가 시 내부와 외부 요구 사항을 잘 고려해야 함
기능 추가와 관련하여 애플리케이션의 구조와 요구 사항을 면밀히 분석하고, 각 구성 요소가 잘 분리되어 유지 보수와 확장이 용이하도록 설계하는 것이 중요
'javaboiii의 Web' 카테고리의 다른 글
Web - 필터(Filter) (0) | 2024.09.05 |
---|---|
Web - 안내창으로 사용자 경험 높이기 (0) | 2024.09.04 |
Web - 리스너(Listener) (0) | 2024.09.02 |
Web - 8) 제이쿼리를 사용한 태그 제어와 Ajax (0) | 2024.08.30 |
Web - 파일 업로드 예제 (0) | 2024.08.28 |