TIL

08 의존성 관리하기

01 의존성 이해하기

변경과 의존성

의존성 정의

런타임 의존성과 컴파일타임 의존성

컨텍스트 독립성

의존성 해결하기

02 유연한 설계

의존성과 결합도

의존성 관점에서는 의존성이 존재한다 또는 존재하지 않는다라고 표현하지만 결합도 관점에선 의존성 정도를 상대적으로 표현하여 결합도가 강하다 또는 느슨하다라고 표현한다.

지식이 결합을 낳는다.

추상화에 의존하라

명시적인 의존성

new는 해롭다

가끔은 생성해도 무방하다

표준 클래스에 대한 의존은 해롭지 않다

컨텍스트 확장하기

조합 가능한 행동

new Movie("아바타", 
    Duration.ofMinutes(120),
    Money.wons(10000),
    new AmountDiscountPolicy(Money.wons(800),
        new SequenceCondition(1),
        new SequenceCondition(10),
        new PeriodCondition(DayOfWeek.MONDAY, LocalTime.of(10, 0), LocalTime.of(12, 0)),
        new PeriodCondition(DayOfWeek.THURSDAY, LocalTime.of(10, 0), LocalTime.of(21, 0))));