Skip to content

Latest commit

 

History

History
35 lines (20 loc) · 1.69 KB

README.md

File metadata and controls

35 lines (20 loc) · 1.69 KB

1장. 설계와 아키텍처란?

아키텍처

아키텍처는 저수준의 세부사항과는 분리된 고수준의 무언가를 가리킬 때 흔히 사용된다.

설계

저수준의 구조 또는 결정사항 등을 의미한다.

  • 저수준의 세부사항과 고수준의 구조는 모두 소프트웨어 전체 설계의 구성요소다.
  • 소프트웨어 아키텍처의 목표는 필요한 시스템을 만들고, 유지보수 하는 데 투입되는 인력을 최소화하는 데 있다.

토끼와 거북이 우화

이 우화는 지나친 과신이 가진 어리석음을 말해준다.

개발자도 이와 비슷한 경주를 하며 과신을 드러낸다.

뼈 빠지게 일하지만, 뇌는 사실 잠 자고 있다.

  • 훌륭하고 깔끔하게 잘 설계된 코드가 중요하다는 사실을 알고 있는 바로 그 뇌가 잠자고 있다.
  • 지저분한 코드를 작성하면 단기간에는 빠르게 갈 수 있고, 장기적으로 볼 때만 생산성이 낮아진다.
  • 나중에 기회가 되면 엉망이 된 코드를 정리하는 태세로 전환할 수 있다고 자신의 능력을 과신하게 된다.

빨리 가는 유일한 방법은 제대로 가는 것이다.

자신을 과신한다면 재설계하더라도 원래의 프로젝트와 똑같이 엉망으로 내몰린다.

결론

💡 소프트웨어 아키텍처를 심각하게 고려할 수 있으려면 좋은 소프트웨어 아키텍처가 무엇인지 이해해야 한다. 비용은 최소화하고 생산성은 최대화할 수 있는 설계와 아키텍처를 가진 시스템을 만들려면, 이러한 결과로 이끌어줄 시스템 아키텍처가 지닌 속성을 알고 있어야 한다.