ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 의존성 주입(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

    댓글

© 2018 T-Story. All right reserved.