-
의존성 주입(Dependency Injection, DI), 결합도(Coupling), 응집도(Cohesion)IT용어 및 개념 정리 2019. 4. 25. 02:19
|정의
의존성 주입(Dependency Injection, DI)은 프로그래밍에서 구성요소간의 의존 관계가 소스코드 내부가 아닌 외부의 설정파일 등을 통해 정의되게 하는 디자인 패턴 중의 하나이다.
|장점
● 의존관계 설정이 컴파일시가 아닌 실행시에 이루어져 모듈간의 결합도를 낮출 수 있다.
● 코드 재사용을 높여서 작성된 모듈을 여러 곳에서 소스코드의 수정 없이 사용할 수 있다.
● 모의 객체 등을 이용한 단위 테스트의 편의성을 높여준다.
출처:위키백과
의존성 주입 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전.
ko.wikipedia.org
|결합도란?
소프트웨어 공학에서, 결합도(coupling) 또는 의존도는 어떤 모듈이 다른 모듈에 의존하는 정도를 나타내는것이다.
결합도는 보통 응집도(coheson)과 대비된다. 낮은 결합도는 종종 높은 응집도와 관련이 있으며, 그 역도 마찬가지이다. 결합도와 응집도라는 소프트웨어 측정 지표(software metric)은, 구조적 설계의 개발자인 래리 콘스탄틴이 만들었으며, 또한 그는 이러한 개념의 초기 지지자였다. 낮은 결합도는 종종 구조화가 잘 된 컴퓨터 시스템의 지표이며, 좋은 설계이며, 높은 응집도를 겸비하면, 높은 가독성과 유지보수성이라는 일반적인 목표를 이루게된다.
|결합도의 종류
결합도가 높은순으로 나열한다.
1. 내용 결합도
2. 공통 결합도
3. 외부 결합도
4. 제어 결합도
5. 스탬프 결합도
6. 자료 결합도
7. 메시지 결합도
8. 결합도 없음
|응집도란?
프로그램의 한 요소가 해당 기능을 수행하기 위해 얼마만큼의 연관된 책임과 아이디어가 뭉쳐있는지를 나타내는 정도이다. 일반적으로 프로그램의 한 요소가 특정 목적을 위해 밀접하게 연관된 기능들을 모여서 구현되어 있고, 지나치게 많은 일을 하지 않으면 그것을 응집도가 높다고 표현한다. 응집도가 높으면 프로그램을 쉽게 이해할 수 있으며 유지보수성이 높아진다.
|응집도의 종류
응집도가 높은순으로 나열한다.
1. 기능적 응집도
2. 순차적 응집도
3. 교환적 응집도
4. 절차적 응집도
5. 시간적 응집도
6. 논리적 응집도
7. 우연적 응집도
출처:참조블로그
좋아요 & 구독
부탁드립니다
'IT용어 및 개념 정리' 카테고리의 다른 글
소프트웨어 디자인 패턴 (0) 2019.05.19 컴포넌트 (0) 2018.10.24 cgroups (0) 2018.10.24 샌드박스 (0) 2018.10.24 댓글