본문 바로가기
Architecture

[Clean Architecture 정리] 1장. 설계와 아키텍처란?

by 테리는당근을좋아해 2022. 7. 9.

설계와 아키텍처

- 설계는 저수준의 구조 또는 결정사항을 아키텍처는 저수준의 세부사항과는 분리된 고수준의 무언가를 가리킬 때 흔히 사용된다.

- 저수준의 세부사항과 고수준의 구조는 모두 소프트웨어 전체 설계의 구성요소이기 때문에 설계와 아키텍처는 개별로 존재할 수 없고, 경계는 뚜렷하지 않다.

- 고수준에서 저수준으로의 의사결정의 연속성만이 존재한다.

 

 

설계의 목표

- 소프트웨어 아키텍처의 목표는 필요한 시스템 개발과 유지보수의 비용을 최소화하는 것이다.

 

 

시간의 흐름에 따라 비용은 높아지고 생산성은 낮아지는 소프트웨어

 

무엇인 잘못되었는가?

1) 개발자 스스로에 대한 과신

- "코드는 나중에 정리하면 돼. 당장은 시장에 출시하는 게 먼저야!"

- 개발자는 생산성을 유지할 수 있다고 자신의 능력을 과신하고, 엉망진창인 코드 쌓여 생산성은 낮아지고 엉망이 되는 추세는 낮아지지 않는다.

 

 

2) 지저분한 코드가 단기간에 빠르게 갈 수 있다는 견해

- 지저분한 코드는 장기적으로 볼 때만 생산성이 낮아진다고 생각하지만, 엉망으로 만들어진 코드는 깔끔하게 유지할 때보다 항상 느리다.

 

 

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

- 생산성이 감소되고 비용이 증가하는 현상을 되돌릴 수 있는 유일한 벙법은 개발자로 하여금 스스로의 과신을 버리는 것이다.

- 엉망진창의 코드를 개발자가 스스로 책임을 지도록 한다.

 

 

좋은 설계와 아키텍처의 필요성

- 개발조직이 할 수 있는 최고의 선택지는 조직에 스며든 과신을 방지하고, 소프트웨어 아키텍처의 품질을 고민하는 것이다.

- 아키텍처의 품질을 고민하기 위해서는 아키텍처의 이해가 필요하다.

- 즉, 비용을 최소화하고 생산성은 최대화할 수 있는 설계와 아키텍처를 가진 시스템을 만들기 위해선 아키텍처가 지닌 속성을 이해해야 한다.

 

 

서적 : http://www.yes24.com/Product/Goods/77283734

 

클린 아키텍처 - YES24

살아있는 전설이 들려주는 실용적인 소프트웨어 아키텍처 원칙『클린 코드』와 『클린 코더』의 저자이자 전설적인 소프트웨어 장인인 로버트 C. 마틴은 이 책 『클린 아키텍처』에서 이러한

www.yes24.com

 

댓글