더북(TheBook)

CHAPTER

13

 

분별 있는 소프트웨어 설계

소프트웨어 설계의 기본 원칙을 쉽게 이해할 수 있도록 도와줄 비유가 한 가지 떠올랐다. 소프트웨어 설계에 대한 모든 걸 아우르는 훌륭한 비유라고 생각한다.

납으로 된 봉(납봉)을 가지고 어떤 구조물을 만든다고 상상해보자. 최종 구조는 다음과 같다.

 

 

사용자를 위해 이 구조물을 완성해서 특정 장소에 세워야 한다.

납봉은 소프트웨어의 각 부분을 상징한다. 이를 특정 장소에 둔다는 건 소프트웨어를 생산한다(혹은 사용자에게 보낸다)는 뜻이다. 나머지도 소프트웨어로 치환했을 때 어떤 의미인지 충분히 이해할 수 있을 것이다. 물론 세세한 부분까지 전부 소프트웨어로 치환하려고 애쓸 필요는 없다. 그저 납봉으로 어떤 구조를 만든다고 상상하는 것으로 충분하다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.