Adding functionality
Part 1에서는 Subscription을 등록하는 기능만을 구현했지만, Subscription을 삭제하고, 등록된 Subscription과 그 리스트를 보여주는 기능을 추가해보자.
case-when 절에 각각의 리퀘스트에 해당하는 처리 루틴을 추가하고, Subscription 클래스의 메서드를 호출하도록 구현한다.
Subscription 클래스는 다음과 같이 구현할 수 있다.
Seperating View and Controller
Subscription 리스트를 보여주는 부분을 구현해보자.
문제는 Subscription 리스트를 보여주는 html code는 request 변수들을 처리하고 Subscription 클래스를 다루는 code 보다 자주 바뀔 가능성이 있다는 것이다. 물론, 이런 작은 예제를 구현할 때는 그렇지 않다. 웹 어플리케이션이 커질 수록 html code의 복잡도도 커지고, 그런 code를 다루는 것은 프로그래머가 아닌 디자이너의 역할로 넘어가는 경향이 있다. 따라서, 웹 어플리케이션의 규모가 커지면 View와 Controller의 구분이 불가피해지는 것이다. Subscription List를 보여주는 부분을 SubscriptionListView 클래스로 분리해보자.
Controller에서 직접 HTML을 rendering하는 코드를 SubscriptionListView를 사용하도록 변경해준다.