[회고] 토이1 : Java로 Front Controller 패턴 구현

JANG SEONG SU·2023년 9월 5일

회고록

목록 보기
1/1

Intro

토이 프로젝트 Java 버전 1의 회고이다.

프로젝트 이름은 "여행 여정을 기록과 관리하는 SNS 서비스"이다.

프로젝트 목표

  • 순수한 Java를 이용하여 MVC 구조로 서비스를 만드는 것이다.
  • MVC구조를 응용하여 데이터 및 서비스 기능의 확장 가능성을 염두하고 구현을 한다.
  • View Controller Model 각 계층간의 의존성을 약화시키고 각 계층들이 독립적으로 기능할 수 있도록 구현한다.

프로젝트 과정

📌version1

하나의 View와 하나의 Controller 안에 모든 기능들을 구현하였다.

각 메소드 간의 중복되는 코드가 많았고, Controller는 View에 강하게 결속되고 있는 상태였다.

📌version2

View를 ItemView라는 인터페이스를 생성하고, item별로 각 하위 구현체들 구현하였다.
(ex, TripView ItineraryViewItemView)

기존의 Controller는 하위모듈인 각 View에 의존하고 있었지만, 인터페이스 구현으로 상위레벨인 ItemView에 의존하도록 하였다.

📌version3

TravelApp이 여러개의 하위모듈 컨트롤러에 의존하지 않고, 컨트롤러 간의 중복 코드를 줄이기 위해 FrontController 패턴을 사용하였다.
Controller라는 인터페이스를 생성하여, FrontController 내에서는 상위모듈인 Controller 인터페이스에만 의존하는 방식으로 구현하였다.

회고

어떻게하면 각 계층별로 의존성을 약화시키고, 어떻게 하면 각 계층에서는 다른 계층의 로직을 알 필요 없도록 만들 수 있는가에 초점을 두었다.
순수한 Java로 실제 Spring MVC에서 사용하고 있는 FrontController 패턴을 응용하면서 FrontController 패턴에 대해 다시 한번 알 수 있었다.


profile
Software Developer Lv.0

0개의 댓글