17. 결합도관점에서본 Value Object 문제점
Value Object 는 내용결합도임
getter, setter 를 알기 전까지는
VO 와 연관된 모듈을 구현, 사용할 수 없음
Value Object 의 문제점은 관련 모듈에 전파
Value Object 를 제거할 수 없음
18. Value Object 문제점
Super VO 탄생 소스코드:55.2kb
리펙토링의 부재 class : 68kb
VO의 분리는 불가능함 멤버변수 수 : 400
지속적인 기능추가에 메소드 수 : 811
따른 관습적인 구현
servlet-api.jar : 96kb
설계단계에서는 VO의
존재가 미비함
21. Value Object 를 버리자
Java Beans 개념으로
VO 가 탄생되었다.
Property의 개념
getter, setter 탄생
자동화된 인터페이스
생성
인터페이스를 통한 결
합
Java Beans 시장의
실패로 gettter, setter 만
남아있게 됨
22. Value Object 의 대안
기본 Collection 사용 Collection 가공
내용결합도의 회피 데이터결합도의 확보
toString 재구현 Box 구현
key Class 사용 setter, getter 제어
23. Value Object 의 대안
Value Object 를 사용 String, int,
해야 한다면 BigDecimal
조직의 압력 데이터검증은 독립적
덤터기 인 모듈에서
유지보수 구조체(배열)금지
call by reference
상속금지
인터페이스 활용
스탬프결합도 확보