Skip to content

Latest commit

 

History

History

yumin

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

README.md

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

아키텍처

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

설계

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

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

토끼와 거북이 우화

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

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

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

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

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

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

결론

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