블로그 이미지
Max.

calendar

          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            

Notice

'DDP'에 해당되는 글 1

  1. 2009.05.17 Spring ROO 와 DDP 구조 합성에 대한 기대
2009.05.17 11:14 개발관련
DDP는 예전에 제가 Rich Domain을 구현하기 위해 시도했던 구조로, 일반적인 스프링 프로젝트에서 사용하는 DAO,Service,Facade,Controller,UI 구조 입니다. 두개를 간단히 도식해 보겠습니다.

먼저 ROO는 아래처럼 각 Layer를 표현할 수 있습니다.

Domain Entity(Repository+Finder)   -> Controller   -> UI
(Domain)                                         (Domain)        (Domain)

다음은 DDP 구조 입니다.

Repository   -> Domain Entity -> (Service) -> Facade -> Controller   -> UI
(Domain)         (Domain)            (DTO)         (DTO)        (DTO)            (DTO)

이 두개를 잘 합성시키면, 원한는것이 나오지 않을까 하는 생각이 들어서 아래처럼 합성되길 희망해 봤습니다.

Finder       ->
Repository -> Domain     -> Facade or Service -> Controller   -> UI
(Domain)       (Domain)       (DTO)                       (DTO)           (DTO)

이것은 ROO의 초기 아키텍처와 비슷한 구조 입니다. 현재 ROO와 다르지만, 충분히 커스터마이징 한다면, 나올수 있는구조 입니다. 제가 알고 있는한 Rich 도메인의 이상적인 구조이기도 합니다.

소스코드가 공개되면, 위와 같은 구조로 변경하여, 실무에 적용할수도 있을것 같다는 생각이 듭니다. 그러기 위해서는 ROO의 필수 기술을 모두 익혀야 합니다. ROO의 필수 기술은 Spring에 대한 최신기술들, AspectJ, Maven, Hibernate 그리도 DDD개념 정도 입니다. 어느하나 만만한 놈이 없습니다. 실무에서 사용한다는 의미는 모든 개발자가 해당 기술을 숙지하고 있어야 합니다. 저런기술을 모두 알기엔 현실적(?)으로 어려움이 많습니다.

최대한 저런 기술로부터 실무자들이 자유로울수 있는 방법은 없을까요. 만약 ROO가 성공할려면, 대중화는 필수적입니다. 어떤 기술이 대중화 되려면, 내부 복잡한 메커니즘은 최대한 추상화 시켜야 합니다. 자동차와 자동차 운전자 원리를 생각하는것 처럼 말이죠.

ROO 콘솔이 다듬어져서 DSL를 대신하고, aspect가 도메인에 집중하게 도와주고, 그코드를 자유롭게 개발자들이 핸들링할수 있다면, 우리도 DDD라는걸 할수 있는 날이 오지 않을까 기대해 봅니다.
신고
posted by Max.
TAG , ,
prev 1 next