[우아한테크세미나] 우아한객체지향

rin·2021년 2월 20일
0

영상 : https://youtu.be/dJ5C4qRqAgA

의존성

설계란?
코드를 어떻게 배치(클래스, 프로젝트, 패키지..)할 것인지에 대한 의사결정

어디에 넣는 것이 좋을까?
같이 변경되는 = 의존성이 있는 경우 -> 같은 위치에 두어야한다.

의존성이 있다고 무조건 바뀌는 것도 아님. = 설계를 잘~ 하면

Dependency = 변경에 의해 영향을 받을 수 있는 가능성

  • 클래스간
    • 연관 관계 : 클래스 내 객체 참조 존재 = 영구적 경로
    • 의존 관계 : 파라미터 or 리턴 타입 or 메소드 내에서 생성됨 = 일시적 경로
    • 상속 관계 : 구현이 바뀌면 영향있음
    • 실체화 관계 :
  • 패키지간
    • 패키지 A의 클래스와 패키지 B의 클래스가 의존성이 있는 경우, 패키지 의존성이 있음.

의존성 관리 법칙
양방향 의존성을 피하자 : 두 개가 하나의 클래스인걸 어거지고 찢어놓았다고 보면 됨
다중성이 적은 방향을 선택하자 : 일대다 << 다대일(Good)
의존성이 필요없다면 제거하자 : (중요)
패키지 사이의 의존성 사이클을 제거하라 : 양방향 패키지 or 사이클이 있는 경우 관련있는 패키지가 하나의 패키지여야함 = 동기화 되어야함을 뜻함

profile
🌱 😈💻 🌱

0개의 댓글