블로그 이미지
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

'모듈화'에 해당되는 글 1

  1. 2009.07.17 Spring Roo 스크립트 활용하기
2009.07.17 18:00 개발관련
Roo는 shell 방식의 명령 조합으로 도메인 객체를 생성한다. 도메인 객체의 기본적인 골격을 shell에서 만든다는 것이다. 이런 shell 명령들을 한꺼번에 실행할수도 있는데 그것이 스크립트 방식이다. 예를 들어 petclinc.roo 또는 vote.roo 가 그런 shell 명령을 한꺼번에 실행할수 있도록 scripts명령을 제공하고 있다.

Roo에서는 모듈화(집단화)할수 있는 방법을 두가지 정도로 생각해 볼수 있는데 그중 하나가 shell을 이용한 모듈화이고, 다른 하나는 add-on을 이용한 모듈화 방법이다. 여기서는 shell을 이용한 모듈화 방법에 대해서 생각해 보고자 한다.

방법은 간단하다. 위에서 말한 것처럼 여러가지 스크립트를 만들어 순서적으로 조합하면, 쉽게 기본틀을 생성할수 있다. 예를 들어보면 아래와 같은 도메인간의 관계를 도식으로 나타낼수 있다.
이 모듈들의 도메인과 관계를 분리하고, 스크립트 관점으로 전환해서 생각해 보자.
모듈과 관계를 분리하였다. 스크립트는 재사용성이 첫번째 목표이기에 관계가 모듈 스크립트에 포함되어서는 안된다. 이유는 관계는 도메인 마다 다르게 형성될수 있다. 일종의 도메인 특약에 걸린다..(도메인은 스냅샷이라는 말이 있지 않는가)  따라서 모듈 스크립트엔 관계가 포함되어서는 안된다.(속성도 적절하게 일반회 되어야 한다) 예를 들어 어떤 도메인에서는 회원이 한번에 하나의 상품만 주문해야 하는 경우가 있는가 하면, 한번에 여러개의 상품을 주문할수 있는 경우도 있다. 그것은 도메인 문제 영역 안의 문제이지 틀을 잡아주는 스크립트 문제로 풀어서는 안된다. 따라서 모듈 스크립트에서는 관계를 따로 정의할수 있도록 관계 스크립트를 분리하는게 좋다. 다시 위의 도식을 스크립트로 구분하면 아래처럼 표현할수 있다.
- 회원관리.roo
- 상품관리.roo
- 주문관리.roo
- 커뮤니티.roo
- 도메인관계.roo
각각의 스크립트는 해당 도메인에 관련된 스크립트가 포함되어 있다. 물론 여기서는 범용적인 정의(선언)만 되어 있고 특정 도메인에 특화된 기능은 포함해서는 안된다. 그것은 프로젝트에서 개발자가 손수 작성해야할 도메인 영역이니까 당연한 소리이다.

여기서 또하나 스크립트를 생각해 볼수가 있다. 그것은 개발환경에 관한 스크립트다.
- 개발환경.roo
이것은 말그대로 Roo 스크립트에서 제일 먼저하거나, 프로젝트 개발환경 관련 명령을 한꺼번에 실행할수 있도록 하는것이 목적이다. 이렇게 스크립트를 분리하고, 여러개의 특화된 모듈 스크립트를 다수 만들어 놀수 있다면, 모듈 스크립트의 조합으로 많은 명령을 쉽게 조합하여 원하는 프로젝트 틀을 만들어 낼수 있다. 물론 재사용가능하다.

앞으로 Roo는 shell 명령을 로그형태로 저장할수 있도록 지원한다고 한다.(현재는 명령을 저장할수 있는 방법이 없다.) 그러면, 더욱 편리하게 스크립트를 재사용할수 있게 된다. 또한 하나의 스크립트가 다른 스크립트를 불려서 실행할수 있는 방법도 지원되리라 생각한다. 그렇게 되면, 더욱 스크립트 모듈화가 이루어 질것 같다.

다음에는 add-on을 이용한 모듈화에 대해서 생각해 보자.
신고

'개발관련' 카테고리의 다른 글

Spring Roo 잡소식  (8) 2009.07.30
Spring Roo 1.0.0.RC1 Released  (0) 2009.07.23
Spring Roo 스크립트 활용하기  (0) 2009.07.17
살아남는법 vs 살아가는법  (2) 2009.07.17
오늘은 故 노무현 전 대통령 49재 입니다.  (2) 2009.07.10
Roo - Finder.aj 생성하기  (2) 2009.07.10
posted by Max.
prev 1 next