[질문]폼배열의 데이터 분리 및 저장에 관하여

1,465 views
Skip to first unread message

안미라

unread,
Oct 19, 2009, 9:05:18 PM10/19/09
to ks...@googlegroups.com

날씨가 추워진다는 말에 단단히 옷을 입고 나와서 인지,

별루 추운지 모르겠네요.

 

어떻게 하든 오늘은 마무리를 지어야하는데, Spring으로 처음해보는 실전이라 가는 곳마다 막히네요.

좋은 의견 부탁드립니다.

 

제가 하려는 것은

UI 폼에서 폼객체(<input type=”text” name=”abc”>)가 한 10개쯤의 존재하여 배열형태가 됩니다.

또한 abcabcVO클래스의 멤버 property이다 get,set이 준비되어 있구요.

이때 할 일은 abcDB에 여러건 저장하는것이죠.

VO를 통해 데이터를 DAO에 전달하려고 합니다.

 

예전에는

String[] abcArr = request.getParameterValues("abc");

int iLength = Array.getLength(abcArr);

배열의 길이를 구해서 루프를 돌면서 저장을 했었는데,

 

Spring에서는 VO를 이용하는 다른 방식이 있을 것 같은데요. 아시는 내용 공유좀 해주세요~

^___^ 질문내용이 잘 전될됬을까요?^^

spyrogira256

unread,
Oct 19, 2009, 9:19:33 PM10/19/09
to ks...@googlegroups.com
VO에 프로퍼티에

String abces[];

abces setter,getter

만든후에

dao 단에선 abces.length로 받아서 for 문으로 돌려주던지.

해당 dao단에 맞게 하면 될꺼 같습니다.

하이버네이트는 사용해보질 않아서 잘모르겠네요.

struts, springMVC에서 이렇게 사용했었습니다.


안미라 쓴 글:

> ^___^ 질문내용이 잘 전될ㅤㄷㅚㅆ을까요?^^
>
>
> >

박용권

unread,
Oct 19, 2009, 9:20:10 PM10/19/09
to ks...@googlegroups.com
어떤 컨트롤러를 사용하시는지 모르겟지만 일단 커맨드 객체를 사용하신다는 전제하에 간략하게 적자면...

String[] abc = null 과 get, set 메소드 생성...

이때 abc 는 폼에서 전송하는 이름과 동일한 것을 사용하시면 되옵니다;

2009년 10월 20일 오전 10:05, 안미라 <aclim...@gmail.com>님의 말:

안미라

unread,
Oct 19, 2009, 9:28:13 PM10/19/09
to ks...@googlegroups.com
두분의 말씀을 제식으로 정리해보면
제가 abcVO를 구현할때
private String abc;
 public String getAbc() {
  return abc;
 }
 public void setAbc(String abc) {
  this.abc= abc;
 }
와 같이 선언했었는데
 
이것을
 private String[] abc;
 public String[] getAbc() {
  return abc;
 }
 public void setAbc(String[] abc) {
  this.abc = abc;
 }
요렇게 배열형태로 선언하라는 말씀이신거죠?
 
 
 
2009년 10월 20일 오전 10:20, 박용권 <arawn.kr@gmail.com>님의 말:

윤성한

unread,
Oct 20, 2009, 7:49:12 PM10/20/09
to ks...@googlegroups.com
저는 잘 모르겠지만....
Spring 레퍼런스에서 PropertyEditor 부분을 보시면,
찾으시는 비슷한 내용이 있지 않을까요? ^^;;;


 
2009년 10월 20일 오전 10:28, 안미라 <aclim...@gmail.com>님의 말:

고종봉

unread,
Oct 20, 2009, 8:33:21 PM10/20/09
to ks...@googlegroups.com
네,, 배열로 정의하시고

배열로 받아서 처리해야 하지 않을까요??ㅎㅎ

2009년 10월 21일 오전 8:49, 윤성한 <yunsu...@gmail.com>님의 말:

안미라

unread,
Oct 20, 2009, 9:47:25 PM10/20/09
to ks...@googlegroups.com
네 알려주신 방법으로 배열로 정의했구요
배열부분은 테이블이 다르기때문에 별도의 VO를 만들어 루프를 돌면서 데이터를 저장하도록 처리하였습니다.
힌트를 가지고 이리저리 변경해 보다보니 조금씩 Spring을 알아가게 되네요.
역시 백문이 불여이타라.
 
해결은 되었지만, 윤성한님께서 말씀주신 부분도 참고해보겠습니다.
감사드립니다.~
 
2009년 10월 21일 오전 9:33, 고종봉 <mercu...@gmail.com>님의 말:

wansu yang

unread,
Oct 20, 2009, 10:06:17 PM10/20/09
to ks...@googlegroups.com
생뚱맞겠지만 질문...
 
VO가 머죠????


 
2009년 10월 21일 오전 10:47, 안미라 <aclim...@gmail.com>님의 말:


--
===========================================================

안녕하세요! 양완수 입니다.
+HP      : 010 2008 4167
+Email  : ywsa...@gmail.com , yang...@daumsoft.com
+
===========================================================

박성철

unread,
Oct 20, 2009, 10:27:39 PM10/20/09
to ks...@googlegroups.com
VO는 Value Object의 약자로 보통 두 가지 의미로 사용됩니다.

예전에는 여러 값을 담아두고 다른 곳에 전달하는 목적으로 객체를 쓸 때 그 객체를 Value Object라고 했습니다.
그런데 요즘은 DTO라는 더 정확한 명칭으로 바꾸어서 말하고 있습니다.

http://en.wikipedia.org/wiki/Data_transfer_object

요즘 말하는 Value Object는 말 그대로 값을 나타내는 객체입니다.
대체로 불변성이고
equals() 로 비교할 때 객체의 모든 값을 비교해야 하고
필드 수가 많지 않습니다.
java의 Integer, Date, Long, String 같은 것이 대표적인 VO이고 여기에 돈을 나타내는 Money, 좌표를 나타내는 Point , 우편번호 ZipCode, 주소 Address 같은 것을 만들었다면 Value Object라고 할 수 있습니다.

wansu yang 쓴 글:
생뚱맞겠지만 질문...
 
VO가 머죠????


 
2009년 10월 21일 오전 10:47, 안미라 <aclim...@gmail.com>님 의 말:
네 알려주신 방법으로 배열로 정의했구요
배열부분은 테이블이 다르기때문에 별도의 VO를 만들어 루프를 돌면서 데이터를 저장하도록 처리하였습니다.
힌트를 가지고 이리저리 변경해 보다보니 조금씩 Spring을 알아가게 되네요.
역시 백문이 불여이타라.
 
해결은 되었지만, 윤성한님께서 말씀주신 부분도 참고해보겠습니다.
감사드립니다.~
 
2009년 10월 21일 오전 9:33, 고종봉 <mercu...@gmail.com>님의 말:
네,, 배열로 정의하시고

배열로 받아서 처리해야 하지 않을까요??ㅎㅎ

2009년 10월 21일 오전 8:49, 윤성한 <yunsu...@gmail.com>님 의 말:

저는 잘 모르겠지만....
Spring 레퍼런스에서 PropertyEditor 부분을 보시면,
찾으시는 비슷한 내용이 있지 않을까요? ^^;;;


 
2009년 10월 20일 오전 10:28, 안미라 <aclim...@gmail.com>님 의 말:

두분의 말씀을 제식으로 정리해보면
제가 abcVO를 구현할때
private String abc;
 public String getAbc() {
  return abc;
 }
 public void setAbc(String abc) {
  this.abc= abc;
 }
와 같이 선언했었는데
 
이것을
 private String[] abc;
 public String[] getAbc() {
  return abc;
 }
 public void setAbc(String[] abc) {
  this.abc = abc;
 }
요렇게 배열형태로 선언하라는 말씀이신거죠?
 
 
 
2009년 10월 20일 오전 10:20, 박용권 <arawn.kr@gmail.com>님의 말:
어떤 컨트롤러를 사용하시는지 모르겟지만 일단 커맨드 객체를 사용하신다는 전제하에 간략하게 적자면...

String[] abc = null 과 get, set 메소드 생성...

이때 abc 는 폼에서 전송하는 이름과 동일한 것을 사용하시면 되옵니다;

2009년 10월 20일 오전 10:05, 안미라 <aclim...@gmail.com>님 의 말:

날씨가 추워진다는 말에 단단히 옷을 입고 나와서 인지,

별루 추운지 모르겠네요.

 

어떻게 하든 오늘은 마무리를 지어야하는데, Spring으로 처음해보는 실전이라 가는 곳마다 막히네요.

좋은 의견 부탁드립니다.

 

제가 하려는 것은

UI 폼에서 폼객체(<input type=”text” name=”abc”>)가 한 10개쯤의 존재하여 배열형태가 됩니다.

또한 abcabcVO클래스의 멤버 property이다 get,set이 준비되어 있구요.

이때 할 일은 abcDB에 여러건 저장하는것이죠.

VO를 통해 데이터를 DAO에 전달하려고 합니다.

 

예전에는

String[] abcArr = request.getParameterValues("abc");

int iLength = Array.getLength(abcArr);

배열의 길이를 구해서 루프를 돌면서 저장을 했었는데,

 

Spring에서는 VO를 이용하는 다른 방식이 있을 것 같은데요. 아 시는 내용 공유좀 해주세요~

^___^ 질문내용 이 잘 전될됬을까요?^^





박성철

unread,
Oct 20, 2009, 10:31:17 PM10/20/09
to Korea Spring User Group
지금 이 글타래에서 사용된 VO는 전자를 말하는 거라고 볼 수 있습니다.

On 10월21일, 오전11시06분, wansu yang <ywsaa...@gmail.com> wrote:
> 생뚱맞겠지만 질문...
>
> VO가 머죠????
>

> 2009년 10월 21일 오전 10:47, 안미라 <aclimax....@gmail.com>님의 말:


>
>
>
> > 네 알려주신 방법으로 배열로 정의했구요
> > 배열부분은 테이블이 다르기때문에 별도의 VO를 만들어 루프를 돌면서 데이터를 저장하도록 처리하였습니다.
> > 힌트를 가지고 이리저리 변경해 보다보니 조금씩 Spring을 알아가게 되네요.
> > 역시 백문이 불여이타라.
>
> > 해결은 되었지만, 윤성한님께서 말씀주신 부분도 참고해보겠습니다.
> > 감사드립니다.~
>

> > 2009년 10월 21일 오전 9:33, 고종봉 <mercujj...@gmail.com>님의 말:


>
> > 네,, 배열로 정의하시고
>
> >> 배열로 받아서 처리해야 하지 않을까요??ㅎㅎ
>

> >> 2009년 10월 21일 오전 8:49, 윤성한 <yunsung...@gmail.com>님의 말:


>
> >>  저는 잘 모르겠지만....
> >>> Spring 레퍼런스에서 PropertyEditor 부분을 보시면,
> >>> 찾으시는 비슷한 내용이 있지 않을까요? ^^;;;
>

> >>> 2009년 10월 20일 오전 10:28, 안미라 <aclimax....@gmail.com>님의 말:


>
> >>>  두분의 말씀을 제식으로 정리해보면
> >>>> 제가 abcVO를 구현할때
> >>>> private String abc;
> >>>>  public String getAbc() {
> >>>>   return abc;
> >>>>  }
> >>>>  public void setAbc(String abc) {
> >>>>   this.abc= abc;
> >>>>  }
> >>>> 와 같이 선언했었는데
>
> >>>> 이것을
> >>>>  private String[] abc;
> >>>>  public String[] getAbc() {
> >>>>   return abc;
> >>>>  }
> >>>>  public void setAbc(String[] abc) {
> >>>>   this.abc = abc;
> >>>>  }
> >>>> 요렇게 배열형태로 선언하라는 말씀이신거죠?
>

> >>>> 2009년 10월 20일 오전 10:20, 박용권 <arawn...@gmail.com>님의 말:


>
> >>>> 어떤 컨트롤러를 사용하시는지 모르겟지만 일단 커맨드 객체를 사용하신다는 전제하에 간략하게 적자면...
>
> >>>>> String[] abc = null 과 get, set 메소드 생성...
>
> >>>>> 이때 abc 는 폼에서 전송하는 이름과 동일한 것을 사용하시면 되옵니다;
>

> >>>>> 2009년 10월 20일 오전 10:05, 안미라 <aclimax....@gmail.com>님의 말:


>
> >>>>>   날씨가 추워진다는 말에 단단히 옷을 입고 나와서 인지,
>
> >>>>>> 별루 추운지 모르겠네요.
>
> >>>>>> 어떻게 하든 오늘은 마무리를 지어야하는데, Spring으로 처음해보는 실전이라 가는 곳마다 막히네요.
>
> >>>>>> 좋은 의견 부탁드립니다.
>
> >>>>>> 제가 하려는 것은
>
> >>>>>> UI 폼에서 폼객체(<input type=”text” name=”abc”>)가 한 10개쯤의 존재하여 배열형태가 됩니다.
>
> >>>>>> 또한 abc는 abcVO클래스의 멤버 property이다 get,set이 준비되어 있구요.
>
> >>>>>> 이때 할 일은 abc를 DB에 여러건 저장하는것이죠.
>
> >>>>>> VO를 통해 데이터를 DAO에 전달하려고 합니다.
>
> >>>>>> 예전에는
>
> >>>>>> String[] abcArr = request.getParameterValues("abc");
>
> >>>>>> int iLength = Array.getLength(abcArr);
>
> >>>>>> 배열의 길이를 구해서 루프를 돌면서 저장을 했었는데,
>
> >>>>>> Spring에서는 VO를 이용하는 다른 방식이 있을 것 같은데요. 아시는 내용 공유좀 해주세요~
>
> >>>>>> ^___^ 질문내용이 잘 전될됬을까요?^^
>
> --
> ===========================================================
>
> 안녕하세요! 양완수 입니다.
> +HP      : 010 2008 4167

> +Email  : ywsaa...@gmail.com , yangwa...@daumsoft.com
> +
> ===========================================================

안영회

unread,
Oct 20, 2009, 10:31:32 PM10/20/09
to ks...@googlegroups.com
VO는 Value Object의 약자로 보통 두 가지 의미로 사용됩니다.

예전에는 여러 값을 담아두고 다른 곳에 전달하는 목적으로 객체를 쓸 때 그 객체를 Value Object라고 했습니다.
그런데 요즘은 DTO라는 더 정확한 명칭으로 바꾸어서 말하고 있습니다.

http://en.wikipedia.org/wiki/Data_transfer_object

요즘 말하는 Value Object는 말 그대로 값을 나타내는 객체입니다.
대체로 불변성이고
equals() 로 비교할 때 객체의 모든 값을 비교해야 하고
필드 수가 많지 않습니다.
java의 Integer, Date, Long, String 같은 것이 대표적인 VO이고 여기에 돈을 나타내는 Money, 좌표를 나타내는 Point , 우편번호 ZipCode, 주소 Address 같은 것을 만들었다면 Value Object라고 할 수 있습니다.

랄프 존슨 같은 분들은 VO를 DTO 대신 사용하는 경우에 대해 화를 내더군요.
EJB 시절 Core J2EE Patterns의 흔적인데 가능하면 값은 운반하기 위한 용도로 쓸 때는 VO보다는 DTO로 쓰면 좋을 듯 합니다.

성철님의 두 번째 설명이 VO에 대한 적합한 용도죠.

안미라

unread,
Oct 21, 2009, 12:24:55 AM10/21/09
to ks...@googlegroups.com
예, DTO가 맞겠네요.
회장님이 올려주신 url 글도 잘 보았습니다.~

2009년 10월 21일 오전 11:31, 박성철 <gyu...@gmail.com>님의 말:

Toby Lee

unread,
Oct 21, 2009, 9:24:09 PM10/21/09
to ks...@googlegroups.com
VO는 지금도 DTO라는 의미로 많이 사용합니다. EJB시절에 리모트 호출을 최소화 하기 위해서 파라미터를 하나의 오브젝트로 묶어 사용하는 것을 그때는 VO라고 모두 불렀습니다. 랄프 존슨이 머라그랬건 상관없이 JavaEE개발자들에게는 보편적으로 통하는 용어입니다.
 
사실 DTO는 원래 DAO패턴에서 나온 용어일 뿐입니다. DAO패턴을 써서 데이터처리 기술을 DAO안에 감추고 DAO밖으로는 데이터를 담은 단순객체만 주고받게 하는 용도로 사용하는 오브젝트를 DTO라고 칭했습니다. 이제는 더 보편적으로 모든 레이어에서 객체에 정보를 담아서 주고 받아서 사용하는 용도이면서, 그 자체로 로직은 가지지 않은 순수 데이터 홀더 역할의 오브젝트라는 의미로 사용되고 있죠.

문맥에 따라 VO/DTO를 적절하게 해석하면 됩니다. 현장에서는 VO=DTO라고 이해하는 사람이 절대적으로 많습니다.

2009/10/21 안미라 <aclim...@gmail.com>

안영회

unread,
Oct 21, 2009, 9:28:54 PM10/21/09
to ks...@googlegroups.com
문맥에 따라 VO/DTO를 적절하게 해석하면 됩니다. 현장에서는 VO=DTO라고 이해하는 사람이 절대적으로 많습니다.


물론 현장에서 VO라고 해도 DTO 의미이면, 그렇게 사용하는건 당연한 일이죠.
팀 내에서 모두 VO라고 부르는데 나 혼자 DTO 라고 부르는건 왕따당하기 쉬운 짓이고 소모적인 일이니까.
다만, 설계에서 작명이 차지하는 비중으로 고려하면 스스로 올바른 용어를 쓰려고 노력을 해야 한다는 취지의 답변입니다.

현장에선 DDD나 ORM 보단 SQL 사용이 절대적으로 많으니 굳이 새로운 API를 쓰지 말자고 하자는 것과 같은 논리로 오해할 수 있는 발언이네요. :)

Toby Lee

unread,
Oct 21, 2009, 9:41:42 PM10/21/09
to ks...@googlegroups.com
현장에선 DDD나 ORM 보단 SQL 사용이 절대적으로 많으니 굳이 새로운 API를 쓰지 말자고 하자는 것과 같은 논리로 오해할 수 있는 발언이네요. :)

매우 적절치 못한 비유입니다.

VO의 문제는 이미 보편화된 이해를 가진 용어를 보다 나은 개념으로 정의한 새로운 용어로 대치하는 문제이지, 잘 아는 기술이 있으니 새로운 기술을 쓰자 말자는 차원이 아니죠.

SQL에서 update라는 용어는 이미 보편화된 이해를 가진 용어입니다. ORM인 hiberate의 update는 이름은 같지만 사실은 다른 새로운 용어죠. (hibernate와 같은 투명한 영속성을 지원하는 ORM에서 update는 단순히 데이터를 업데이트 하라는 뜻이 아니라 detached object를 reattach시킨다는 의미입니다) 하이버네이트의 update가 ORM이라는 고급 기술에서 훨씬 세련된 의미를 가졌지만, 현장에서는 SQL의 update에 친숙한 사람들이 대부분이니 상황에 맞게 잘 가려써야 합니다.

VO도 마찬가지 개념이라는 거죠. 한때 DDD 스터디 모임도 하고 책도 번역하려고 했고, 랄프존슨 세미나도 주관한 안 전 회장의 VO에 대한 이해와 친밀감과 현장의 일반적인 개발자들이 이해하는 용어에는 격차가 크니 주의하자는 것이죠. DDD나 VO자체 개념이 ORM만큼만 보편화 된다면 모르겠지만요. 
   

2009/10/22 안영회 <ahnyo...@gmail.com>

Sanghyuk Jung

unread,
Oct 21, 2009, 9:57:04 PM10/21/09
to ks...@googlegroups.com
음 분위기 좋습니다~ ^^;
 
저도 이전에 프로젝트 할때는 UserVO처럼 클래스명에 모두 VO접미사를 써서 이름을 붙였었고,그때는 VO라고 많이 불렀었는데,
 
요즘은 제 주변에서는 VO보다는 'Model'이라는 말을 많이 쓰고, 클래스 접미사에 그렇게 붙이는 경우도 많아 보입니다.
 
그리고 DTO를 Map까지도 포함한 개념으로 사용이 많이 된다는 느낌입니다.
 
Java beans라고 부르는 사람도 간혹 보이고, 이것도 빈약한 도메인 오브젝트의 일종이니까 도메인 오브젝트라고 부르기도 합니다.
 
굉장히 많은 이름을 가졌네요;
 
확실히 같은 프로젝트내에서는 한번쯤 이야기를 하고 넘어갈만한 용어네요.

 
2009년 10월 22일 오전 10:41, Toby Lee <toby...@gmail.com>님의 말:

강명성

unread,
Oct 21, 2009, 11:54:46 PM10/21/09
to ks...@googlegroups.com
의미론적인 개념만 알고 있으면 되는게 아닐까요?
VO == DTO
 
용어에 대한 정의가 중요한건 맞겠지만, 사용에 대해 적절한지에 대해서 논의가 필요한지는
잘 모르겠네요.
저도 얼마전까진 VO라고만 사용했고..;; DTO라고도 하는구나~ 이렇게만 생각했죠.

2009년 10월 22일 오전 10:57, Sanghyuk Jung <ben...@gmail.com>님의 말:

--
매일 행복한 시간 되시길 바랍니다...^^

wansu yang

unread,
Oct 22, 2009, 12:30:33 AM10/22/09
to ks...@googlegroups.com
음 불씨를 당긴건가?????
 
VO ,DTO  라는 말보다 아직 전 위에서 설명하신 내용만 듣고 무었이나 한다면 formBean 또는 그냥 bean 이라고 했습니다.
 
얼핏 들은 이야기로는 VO 라는건 불변하는 객체이기 때문에 set 할때 변경된 값을 던진다고 어디선가 본듯한데.. 이 주제랑 관계가 있는지는모르겠습니다. ( ㅡㅡ ; 막 던지는 무책임한....)

고종봉

unread,
Oct 22, 2009, 5:10:14 AM10/22/09
to ks...@googlegroups.com
아,, 전에 일할 때 특별한 이유로 Manager라는 명칭을 못 쓰게 한것이 생각이 나네요.

그럼 클래스 작명을 어떻게 하라구.. ㅜㅜ;

단어 가지고 너무 엄격하게 하지는 않았으면 좋겠습니다. (개인적으로 DTO가 느낌이 더 좋음)


2009년 10월 22일 오후 1:30, wansu yang <ywsa...@gmail.com>님의 말:

안영회

unread,
Oct 22, 2009, 5:28:52 AM10/22/09
to ks...@googlegroups.com

단어 가지고 너무 엄격하게 하지는 않았으면 좋겠습니다. (개인적으로 DTO가 느낌이 더 좋음)

개발 시점만 놓고 보면 단어 고민하다 시간 낭비하거나 표준화란 이름으로 지나친 획일화를 추구하는 일은 매우 소모적이죠.
하지만, 프로그램을 추상화하고 일관성 있는 개념으로 엮는 일은 매우 중요합니다.
그런 면에서 작명은 매우 중요하죠.

유명 개발자 중에도 Interface 개념조차 없는 이를 목격하고는 하는데...
코드를 개념과 엮지 못하는 일에서 비롯하죠.

VO 나 DTO 구분이 그런 큰 의미를 지니지는 않습니다만
평소에 작명이나 개념에 충실해지려고 노력하는 일은 프로그래머/설계자/개발자에게 좋은 습관이라 생각합니다.

Toby Lee

unread,
Oct 22, 2009, 6:29:59 AM10/22/09
to ks...@googlegroups.com
생각해보면 불변적인 값을 가지는 객체를 가리키는 Value Object라는 용어는, 그런 의미로 사용하는 경우에는 VO라는 약자를 쓰지 않는 것 같습니다. DDD책에서도 그렇고 Value Object pattern이라고 부를 때도 마찬가지죠. VO 패턴이라고 부르는 사람은 없습니다. 

오히려 VO라는 약자는 DTO와 같은 개념으로 사용하는 사람들이 흔히 쓰는 표현입니다. 이유는 정상혁님이 그랬듯이(저도 EJB개발할 때 그랬지만) 보통 클래스 이름 뒤에 CustomerVO 라는 식으로 붙여서 그 클래스의 용도와 의미를 명확하게 하도록 했기 때문입니다. DTO도 그런 비슷한 관행을 따라서 CustomerDTO라는 식으로 사용하기도 했지만 VO만큼 보편화 된 것 같지는 않습니다. 

그만큼 VO라는 약자는 EJB가 한창인 시절에 활동한 개발자들의 유산입니다. 최근에 개발을 시작한 사람이 아니라면 그만큼 더 친근할테고요.

새롭게 의미를 부여한 Value Object라는 것을 굳이 가져다 써야 할 때는 그래서 그만큼 친절하게 "DDD에서 말하는 Value Object라던가", "Value Object 패턴"이라고 말해줄 필요가 있습니다. 이건 하나의 용어에 대한 정확한 개념의 문제가 아니라, 원래 다른 의미를 가지고 독자적으로 사용하던, 우연히 이름이 일치하는 두 개의 다른 용어에 대한 혼란을 막기 위한 최소한의 노력일 것입니다. 

물론 DTO라는 더 적절한 대안어가 있으니 VO라는 혼란을 줄 수도 있는 단어는 이제 피하는게 낫다고는 봅니다만, 최근의 컨퍼런스 발표자료나 아티클을 보면 아직도 DTO와 같은 개념을 VO라는 이름을 선호하고 자연스럽게 사용하는 사람이 적지 않은 것 같습니다.
 

2009/10/22 안영회 <ahnyo...@gmail.com>
Reply all
Reply to author
Forward
0 new messages