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

Jihyoung·2022년 3월 20일
1

Clean Architecture

목록 보기
2/23
post-thumbnail

모든 소프트웨어 시스템은 이해관계자에게 서로 다른 두 가지 가치인 행동(behavior)와 구조(structure)를 제공한다.

📕 행위

기능 명세서나 요구사항 문서를 구체화할 수 있도록 도우며, 기계가 이 요구사항을 만족하도록 프로그래머는 코드를 작성하고, 에러를 처리한다.

  • 하지만 이러한 행위가 전부가 아니다.

📗 아키텍처

소프트웨어는 soft + ware 의 합성어로, 기계의 행위를 쉽게 변경할 수 있도록 하기 위해 만들어진 것이다.

소프트웨어가 가진 본연의 목적을 추구하려면,

  • 변경하기 쉬워야 한다.
  • 변경사항을 적용하는데 드는 어려움은 변경되는 범위에 비례하며,
  • 변경사항의 형태와는 관련이 없어야 한다.

아키텍처는 형태에 독립적, 실용적이여야 한다.


📙 더 높은 가치

동작은 하지 않지만 변경이 쉬운 프로그램이 더 높은 가치를 가진다.


📘 아이젠하워 매트릭스

중요성

  1. 긴급하고 중요한
  2. 긴급하지는 않지만 중요한
  3. 긴급하지만 중요하지 않은
  4. 긴급하지도 중요하지도 않은
  • 기능의 긴급성이 아닌 아키텍처의 중요성으로 업무를 진행해야 한다.

📒 아키텍처를 위해 투쟁하라

아키텍처가 후순위가 되면 시스템을 개발하는 비용이 더 많이 들고, 일부 또는 전체 시스템에 변경을 가하는 일이 현실적으로 불가능해진다.

개발하기 쉽고, 수정에 용이하며, 확장하기 쉬운 아키텍쳐를 만들어야한다.


📚 Reference

  • Clean Architecture : 소프트웨어 구조와 설계의 원칙
profile
로그를 생활화

0개의 댓글