Java에서 Model2 FrontController

민트밤
민트밤
Aug 9, 2017 · 2 min read

일반적인 정보는 구글에 이미 충분하다. 그렇기 때문에 일반적인 정보는 생략하고 내가 느낀 핵심만 이야기하도록 하겠다.

모델1이 아닌 모델2를 쓰겠다 하는 이유의 핵심은 결국 Front엔지니어와 Back엔지니어의 분리다. 서버에서의 구조변경이 클라이언트한테까지 영향이 가지 말아야 하고, 반대로 클라이언트의 구조변경이 서버까지 영향을 미쳐서야 안되는 일이다.

거기에서 FrontController를 쓰겠다 하는 이유는 정보의 집중화다. 단순한 Model2는 n개만큼의 View에 n개만큼의 Controller를 만든다. 이는 백/프론트의 구분을 만들겠다는 말과는 무색하게 (좀 과장해서 말하면) 백/Controll/프론트 3분할이 된 거나 마찬가지다. 이런 상황은 피해야 한다.

그렇기 때문에 쓰는 것이 FrontController다. 서버와 프론트가 개활지에서 아무데서나 거래를 한다면 통제하기가 쉽지 않지만, 성문에서 옹기종기 모여서 거래한다면 많아야 3~4개의 성문만 제어하면 충분하지 않겠는가?

문제는 FrontControl을 쓰면서 엄격한 분리를 하는 것이 꽤 힘들다. view인지 dao인지 hidden Parameter로 넘겨야 하나? 아니면 login, loginAf처럼 주소를 따로 줘야하나?

보통 다른 사람들은 어떻게 할까… 어렵다.

    민트밤

    Written by

    민트밤

    새내기 개발자