티스토리 뷰

Programming/JSP&Servlet

2016.5.24

짜모 2016. 5. 24. 15:23
반응형

커맨드 패턴(Command pattern)이란 요청을 객체의 형태로 캡슐화하여 사용자가 보낸 요청을 나중에 이용할 수 있도록 메서드 이름, 매개변수 등 요청에 필요한 정보를 저장 또는 로깅, 취소 할 수 있게 하는 패턴


커맨드 패턴에는 명령, 수신자, 발동자, 클라이언트의 네개의 용어가 항상 따른다. 커맨드 객체는 수신자 객체를 가지고 있으며, 수신자의 메서드를 수행한다. 커맨드 객체는 별도로 발동자 객체에 전달되어 명령을 발동하게 한다. 발동자 객체는 필요에 따라 명령 발동에 대한 기록을 남길 수 있다. 한 발동자 객체에 다수의 커맨드 객체가 전달될 수 있다. 클라이언트 객체는 발동자 객체와 하나 이상의 커맨드 객체를 보유한다. 클라이언트 객체는 어느 시점에서 어떤 명령을 수행할지를 결정한다. 명령을 수행하려면, 클라이언트 객체는 발동자 객체로 커맨드 객체를 전달한다.


서블릿

if(uri.equals(???))

{

...

}

else if(uri.equals(???))

{

...

}


1. 동작에 대한 인터페이스

2. 1을 구현하는 구현클래스들

3. 2들 중에서 한개를 선택해 주는 애 

4. 3에서 결정된 애를 실행하는 애


1, 2 = 전략패턴

3, 4 = 


Action(interface)

- execute() 함수 포함


BoardListAction(Action 구현체)

- execute()를 구현 → 게시물 리스트를 보기 위해 어떤 로직을 처리하고 어떤 데이터를 가지고 어디로 가야할지를 구현


BoardViewAction(Action 구현체)

- execute()를 구현 → 게시물 상세보기를 위해서 어떤 로직을 처리하고 어떤 데이터를 가지고 어디로 가야할지를 구현


ActionFactory

- getAction(String command) → command에 적함한 Action구현 클래스 객체를 만들어주는 애


서블릿은 요청이 온 uri를 ActionFactory객체의 getAction에 넣고 리턴되는 객체의 execute()를 단지 실행









반응형

'Programming > JSP&Servlet' 카테고리의 다른 글

2016.5.20  (0) 2016.05.20
2016.5.18  (0) 2016.05.18
2016.5.16  (0) 2016.05.16
2016.05.11  (0) 2016.05.11
2016.5.10  (0) 2016.05.10
댓글
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함