도입

혼돈

  • 소프트웨어는 혼돈 상태로 향하려는 경향이 있다.
  • 계층화된 구조를 잡아도 edge 케이스를 처리하기 위해 유틸 클래스와 Manager 클래스가 난무하게 된다.
  • 일관된 구조를 가질 수 있도록 계속 신경을 써줘야한다.
  • 혼돈 상태나타내는 용어로 big ball of mud가 있다.

대응책1. 캡슐화와 추상화

  • 데이터와 행위를 한곳에 묶고 내부 구현을 숨김으 단순화할 수 있다.
  • 이 단순화를 추상화로 볼 수 있다.
  • 추상화는 표현력을 높인다.

대응책2. 계층화

  • 계층을 나눠 범주(카테고리)를 만들어 관리한다.

대응책3. 의존성 역전 원칙(DIP)

  • 고수준 모듈이 저수준 모듈에 의존하지 않고 두 모듈은 추상화에 의존한다.
  • 저수준 모듈에 변경이 있어도 고수준 모듈에는 영향이 없다.
    • e.g. 비지니스 계층 변경을 하지 않아도 인프라 세부사항을 변경할 수 있다.

대응책4. 도메인 모델

  • 도메인 모델에 비지니스 로직을 구현함으로 산발적으로 비지니스 로직이 흩어지는 것을 막는다.
  • 비지니스 로직 변경이 쉬워진다.

results matching ""

    No results matching ""