Refactoring traditional web application with MVC pattern (Part 2)

Adding functionality

Part 1에서는 Subscription을 등록하는 기능만을 구현했지만, Subscription을 삭제하고, 등록된 Subscription과 그 리스트를 보여주는 기능을 추가해보자.

case-when 절에 각각의 리퀘스트에 해당하는 처리 루틴을 추가하고, Subscription 클래스의 메서드를 호출하도록 구현한다.

Adding functionality (controller routines)

Subscription 클래스는 다음과 같이 구현할 수 있다.

Adding functionality (Subscription class)

Seperating View and Controller

Subscription 리스트를 보여주는 부분을 구현해보자.

code fragment that shows subscription list

문제는 Subscription 리스트를 보여주는 html code는 request 변수들을 처리하고 Subscription 클래스를 다루는 code 보다 자주 바뀔 가능성이 있다는 것이다. 물론, 이런 작은 예제를 구현할 때는 그렇지 않다. 웹 어플리케이션이 커질 수록 html code의 복잡도도 커지고, 그런 code를 다루는 것은 프로그래머가 아닌 디자이너의 역할로 넘어가는 경향이 있다. 따라서, 웹 어플리케이션의 규모가 커지면 View와 Controller의 구분이 불가피해지는 것이다. Subscription List를 보여주는 부분을 SubscriptionListView 클래스로 분리해보자.

code fragment that shows subscription list

Controller에서 직접 HTML을 rendering하는 코드를 SubscriptionListView를 사용하도록 변경해준다.

code fragment that shows subscription list

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.