[정처기 실기] 모듈화, 응집도, 결합도
모듈의 독립성을 높이기 위해서
응집도를 높인다.
결합도를 낮춘다.
Fan-out을 최소화한다.(한 모듈이 호출하는 다른 모듈의 수)
Fan-in을 증가시킨다. (한 모듈을 호출하는 모듈의 수)
결합도: 모듈과 모듈간 관련성, 의존성 정도를 나타내는 개념
결합도를 낮춘 모형 a.k.a 잘 설계된 모형
data Coupling- 데이터 결합도: 모듈간 인터페이스로 값이 정확?
Stamp Coupling 스탬프 결합도
Control Coupling 제어결합도
External Coupling 외부 결합도
Common Couplin 공통 결합도
Content Coupling 내용 결합도
응집도
우연적 응집도
논리적
시간적
절차적: 순차적 수행(순차적 응집도가 아니다!!!!!)
통신적: 동일한 입력, 출력을 사용
순차적: Sequantial Cohesion 한 활동의 출력값을 입력값으로 사용
기능적:Functional 응집도가 가장 높다.
Fan-in : ↘↙
특정 모듈을 호출, 참조하는 상위 모듈의 수
Fan-out: ↙↘
높은 팬아웃값은 해당 모듈이 다른 모듈들과 상호 작용이 많음 복잡도 높음
DTO: 프로세스간 데이터 전송객체 Getter Setter 메서드 포함 정보 은닉)
DAO: 데이터 베이스 접근 수행 DB 접근로직
Service: DAO 클래스를 호출하여 비즈니스로직 사용
Controller: 사용자 요청 수행
MVC 모델 계층
비즈니스 로직계층(트랜잭션)
퍼시스턴트 계층: CRUD 연산 수행
도메인 모델
프레임워크
★배치 프로그램
대용량 데이터/ 자동화/ 견고함/안정성/성능