본문 바로가기
Java (국비)/Java 이론

MVC (Model-View-Controller) 2

by Hwanii_ 2023. 5. 27.
728x90

★ 결합도 낮추기 ★

 

결합도가 "낮다"

=> 유지보수 용이

 

1. 짜놓은 코드를 확인하는 상황 -> 정말 현재 코드의 결합도가 낮은지를 체크.

 

2. 체크했더니 결합도가 높네 ? -> 어떤 이유로 ?

코드의 여러 부분(파트) 를 수정 해야 하는 상황.

== 연쇄적으로 코드를 바꿔야 하는 상황.

== 결합도가 높다.

 

3. 따라서,

DAO의 CRUD (비즈니스 메서드, 핵심로직) 는 어떠한 추가적인 요구사항으로 인해 수정을 들어가야 하더라도

절대로 DAO의 CRUD의 "메서드 시그니쳐"가 변하지 않도록 코드를 작성 한다.

즉, "메서드 시그니쳐"는 설계 단계에서 절대로 변경되면 안된다.

 

why ? 메서드 시그니쳐가 바뀌면 다른 파트에 영향을 미치게 되서 연쇄적으로 코드를 바꿔야 하는 상황이 발생.

 

4. 그래서,

수정할게 생겼을 때 메서드 시그니쳐를 수정하는 방향이 아니다.

 

5. 그러면 어떻게 ?

★★★

DAO의 CRUD (비즈니스 메서드, 핵심로직) 메서드의 인자를

VO 클래스명(타입) 참조변수(vo) 으로 통일 해야 한다.

★★★

 

6. VO의 생성자 "인자 개수에 맞게 객체를 생성" 해주지만, 해당 기능에서 필요하지 않은 값은 null or 0으로 표기.

반응형