[클린 아키텍쳐] 1장. 설계와 아키텍처란?

설계와 아키텍처의 차이 -> 없다.

 - '설계'는 저수준의 구조 또는 결정사항
 - '아키텍처'는 저수준의 세부사항과 분리된 고수준의 무언가를 가리킴.
 - '설계'와 '아키텍처'를 구분 짓는 것는 경계는 모호하다. 고수준에서 저수준으로 향하는 연속적인 의사결정이 있을 뿐..
 - 즉, 대상 시스템의 구조를 정의

소프트웨어 아키텍처의 목표

소프트웨어 아키텍처의 목표는 필요한 시스템을 만들고 유지보수하는 데 투입되는 인력을 최소화하는 데 있다.

실례로, 초기 성장 모드에서는 개발자의 생산성이 큰 반면, 일정이상 성장의 상태가 된 후에는 생산성의 증가하지 않는다. 고용하는 개발자는 증가하는데, 생산성에는 변화가 없다.

경영진의 입장에서 보면, 답답할 노릇이다 비용은 증가하고 있는데, 생산성에는 변화가 없으니 말이다. 즉, 좋은 설계란 시스템의 수명이 다할 때까지 드는 비용을 최소화 할 수 있는 설계이다. 새로운 기능을 만들 때 마다.. 비용이 증가한다면 정말 나쁜 설계이다.

명심 하기.

많은 개발자들은 "코드는 나중에 정리하면 돼. 당장은 시장에 출시하는게 먼저야!"라고 말한다. 그런데 나중에 코드를 정리하는 경우는 거의없다. 시장의 압박은 지속되기 때문에..

엉망으로 만들면 깔끔하게 유지할 때보다 항상 더 느리다.

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

 

댓글

Designed by JB FACTORY