스프링 MVC의 주석 기반 모델을 편리하게 사용할 수 있지만 Flex 월드에서 나온 것처럼 Command 디자인 패턴을 사용하는 데 많이 익숙하다. 추상화 수준을 줄이고 일반적인 명령 기능을 확장하여 유연성을 확보하는 것이 매우 쉽습니다. 그러나 Spring 환경에 맞추기가 어렵습니다.스프링 MVC 주석 구동 클래스와 순수 명령어
이상적인 경우에는 요청 매개 변수 (또는 URL 경로 변수)를 기반으로 다른 명령 (또는 일련의 명령)을 실행하는 일반 HandleWebRequestCommand 클래스가 아닌 컨트롤러가 없어야합니다. 다른 명령은 원격 서비스 호출, DB 검색/지속성 처리, 파일 조작 등을 담당합니다. 이로 인해 전체 Controller/Service/Persistence 케익이 교환 및 연결 해제 명령 집합으로 축소됩니다.
지금까지 가장 어려운 부분은 일어나고있는 명령과 실행해야하는 명령 간의 매핑을 만드는 것처럼 보입니다. 모든 명령이 선언 된이 목적에 매우 적합한 XML 컨텍스트와 유사한 파일을 볼 수 있습니다. 또한, 의존성이 제공 될 것입니다 (모든 명령은 의존하는 다른 명령 세트를 가질 수 있습니다 (물론 인터페이스가 있습니다)). 지금까지는 이벤트 중심 아키텍처의 사용을 예상하지 않았습니다. 대부분의 명령 HTTP 요청의 결과로 여전히 실행되므로 가장 중요한 매핑은 HandleWebRequestCommand 내에있는 것입니다.
혼란 스럽습니다. 도와주세요. 나는이 봄을 잘 지켜야 하는가 아니면 Java EE 위에 직접 내 자신의 아키텍처를 개발할 것인가? 그런 건축은 전혀 괜찮습니까?
명령! = 서비스. 커맨드는 훨씬 세분화되어 있으며, 여러 가지 관심사를 교차 적용 할 수 있습니다. 이들은 엄격한 one-execute-method 디자인 패턴을 따르므로 한 패턴을 다른 패턴으로 쉽게 전환 할 수 있습니다. – preslavrachev
@ user1107412 인공적인 구별을하고 있습니다. 원하는 서비스를 원하는대로 세분화 할 수 있습니다. –
@ user1107412 결론은 당신이 원한다면 무엇이든 원하는대로 호출 할 수 있으며, 각각 큰 것으로부터 작은 것으로 모든 작업을 수행 할 수 있다는 것입니다. –