N° 01 — 목록

'deep-modules' (1)

  1. Software Architecture/Principles

    Principles - 02. 추상화와 깊은 모듈

    변속기는 "기어 1~6"만 보여준다 — 깊은 모듈과 얕은 모듈자동차 변속기를 생각해 보자. 운전자에게 보이는 인터페이스는 기어 레버 — "1단에서 6단으로 옮긴다"가 전부다. 하지만 그 레버 뒤에는 수백 개의 톱니바퀴와 유압 시스템과 센서가 얽혀 있다. 운전자는 내부를 몰라도 운전할 수 있고, 변속기 제조사가 내부를 개선해도 운전자는 기어 레버만 보면 된다.이것이 깊은 모듈(deep module)이다 — 인터페이스는 단순하지만 구현은 풍부하다. John Ousterhout은 에서 모듈의 깊이를 "인터페이스의 복잡성 대 구현의 복잡성" 비율로 정의했다. 깊은 모듈은 적은 인터페이스(노출)로 많은 구현(숨김)을 감싼다. 얕은 모듈은 그 반대다 — 인터페이스가 복잡한데 구현이 얄팩하다.깊은 모듈 vs 얕은 모..

    · 댓글