작물단계: #seed

란?

  • Layered Architecture 은 ‘계층’ 별로 모듈들을 묶는 것을 의미한다.
    • 이 ‘계층’ 에는 비슷한 기능을 하는 모듈들만이 들어가있다.
    • ‘상위계층’ 에서 ‘하위계층’ 을 인터페이스를 통해 호출할 수 있고, ‘하위계층’ 은 그 결과를 ‘상위계층’ 에 반환한다.
      • 여기서 반대방향은 안된다. 즉, ‘하위계층’ 에서 ‘상위계층’ 을 호출할 수는 없다.
  • 이렇게 하면 계층간 인터페이스가 유지되는 한 ‘상위계층’ 에서는 그냥 그것을 호출하기만 하면 되고, ‘하위계층’ 에서 실제로 어떻게 작동하는지는 ‘하위계층’ 에서 적절히 모듈을 선택하기만 하면 된다.
  • 그리고 이렇게 계층화가 잘 되어있을 때 Layer Cohesion (계층적 응집도) 가 높다고 한다.