IT/책

[Clean Architecture] 1부, 소개

Terriermon 2021. 11. 27. 13:57

Clean Architecture

1장, 설계와 아키텍처

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

- 생산성은 낮아지고, 비용을 올라가면 좋지 않은 아키텍처

- 엉망진창인 코드가 쌓이면 결국 생산성은 0으로 수렴

- 자신을 과시하면 재설계 해도 원래 프로젝트와 똑같이 엉망으로 됨
> 재설계가 좋은 방향은 아니다.


그래서 소프트웨어 아키텍처는


- 과신을 미리 방지해서 소프트웨어 품질을 고민해야 한다.

- 비용은 최소화하고 생산성은 최대화하는 아키텍처란


2장, 두 가지 가치에 대한 이야기

소프트웨어 개발자가 반드시 높게 가치를 유지해야 하는 것: 행위, 구조

행위
- 기계가 수익을 창출하거나 비용을 절약하도록 만들기 위해서 소프트웨어를 개발함

- 긴급하지만 매번 높은 중요도를 가지는 것은 아님


구조
- 소프트웨어는 변경하기 쉬워야 함

- 변경의 어려움은 범위에 비례하며, 변경사항은 형태와는 관련이 없음
> 소프트웨어 개발 비용이 가장 많이 드는 이유

- 중요하지만 즉각적인 긴급성을 필요로 하지 않음

시스템이 동작하는 것이 중요한가?

- 완벽하게 동작하지만 수정이 불가능한 프로그램보다 변경이 쉬운 프로그램이 더 낫다.


결론
아키텍트는 개발하기 쉽고, 간편하게 수정할 수 있고, 확장하기 쉬워야 함