본문 바로가기
Architecture

[Clean Architecture 정리] 2장. 두 가지 가치에 대한 이야기

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

행위와 구조

- 모든 소프트웨어 시스템은 '행위(Behavior)''구조(Structure)' 두 가지 가치를 제공한다.
- 개발자는 반드시 두 가지 가치를 모두 높게 유지해야하는 책임을 가진다.

 

행위 (Behavior)

- 개발자는 기능 명세서나 요구사항 문서를 구체화할 수 있도록 돕고, 요구사항을 충족시키기 위해 코드를 작성한다.
- 단순히 요구사항을 구현하고 버그를 수정하는 것만이 개발자의 책임이 아니다.

 

아키텍처(Architecture)

- 소프트웨어를 만든 이유는 기능을 쉽게 변경할 수 있도록하기 위함이다.
- 변경사항을 적용하는 데 드는 비용은 변경되는 범위(Scope)에 비례해야하며, 변경사항의 형태(Shape)와는 관련이 없어야 한다.
- 아키텍처가 특정 형태를 선호할수록 변경은 어려워지기 때문에 아키텍처의 형태는 독립적이여야 한다.

 

기능인가 아키텍처인가?

1) 행위

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


2) 아키텍처

- 중요하지만 즉각적인 긴급성을 필요로 하는 경우는 절대 없다.

 

더 높은 가치

- 개발자가 흔히 저지르는 실수는 '긴급하지만 중요하지 않은 기능'과 '긴급하면서 중요한 기능'을 구분하지 못하고 '중요도가 높은' 아키텍처를 무시한 채 '중요도가 떨어지는 기능'을 선택한다.
- 개발자는 이러한 부분을 인지하고 업무관리자에게 아키텍처의 중요성을 이해시키는 책임을 가진다.
- 아키텍처의 중요성을 인지하고 변경이 불가능한 소프트웨어 시스템이 되지 않도록 노력해야 한다.



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

 

클린 아키텍처 - YES24

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

www.yes24.com

 

댓글