ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [TIL] 의존성
    code/TIL 2023. 11. 2. 21:23

    의존성:  파라미터나 리턴값 또는 지역변수 등으로 다른 객체를 참조하는 것

    • 코드에서 두 모듈(클래스)간의 연결 혹은 관계를 말한다.
    • 의존 대상 B가 변하면, 그것이 A에 영향을 미친다.

    의존성(Dependency)을 지양하는 이유

    • 높은 의존성은 모듈의 재사용을 감소시킨다. (독립적이지 않아 다른 곳에 사용하기 어렵다.)
    • 하나의 모듈이 바뀌면 의존한 다른 모듈까지 변경이 이루어진다.

     

    의존성 주입이란?

    - 외부에서 객체를 생성해서 넣어주는 것 

    - 객체가 의존하는 또 다른 객체를 외부에서 선언하고 이를 주입하는 것이 의존성 주입임. 

     

     IoC(Inverse of Control)
    제어권을 개발자가 아닌 제3자(framework)가 가지게 하는 것이다. IoC의 주된 목적은 Application의 Dependency를 제거해서 느슨한 결합(loose coupling)을 제공하는 것이다.

    의존성 규칙

    모든 소스코드 의존성은 반드시 outer에서 inner로, 저수준에서 고수준 정책을 향해야 한다.

    고수준 : 상위 수준의 개념, 추상화된 개념
        ex. 업무로직: 데이터를 저장한다, 견적을 계산한다
    저수준 : 추상화된 개념을 실제 어떻게 구현할지에 대한 세부적인 개념
        ex. 세부사항: MySQL에 데이터를 저장한다, 선택 프로젝트의 견적을 계산한다

     

     

    What Data crosses the boundaries

    : "경계간의 테이터를 전달할 때 무엇을 전달해야하는가"

    • 단순하고, 독립된 형태의 데이터 구조 사용 필요
    • DB형식의 데이터 구조 또는 Framework에 종속적인 데이터 구조가 사용된다면 저수준의 데이터형식을 고수준에서 알아야하므로 의존성 규칙에 위반하게 됨

     

     

    Dependency

    어떤 클래스 A가 다른 클래스(또는 인터페이스)B를 이용할 때 A가 B에 의존한다고 한다.A는 B없이 작동할 수 없고 B를 재사용하지 않으면 A또한 재사용 할 수 없다.Dependant는 자신의 Dependency들에게

    velog.io

     

     

    'code > TIL' 카테고리의 다른 글

    [TIL] 구글 애널리틱스 추가  (0) 2023.11.06
    SwiftUI 뷰  (0) 2023.09.13
Designed by Tistory.