본문 바로가기
아키텍처/클린 아키텍처

클린 아키텍처란?

by SSaMKJ 2023. 2. 11.

Clean Architecture

  • architecture vs design
    • architecture: 세부사항과는 분리된 고수준
    • design: 저수준의 구조 또는 결정사항 등

행위와 아키텍처

  • 소프트웨어 개발자는 두 가치를 모두 반드시 높게 유지해야 하는 책임을 진다.

행위

  • 이해관계자를 위해 기계가 수익을 창출하거나 비용을 절약하도록 만든다.
  • 기능 명세서나 요구사항 문서를 구체화 할 수 있도록 돕는다.

아키텍처

  • 소프트웨어를 변경하기 쉽게 만들어준다.
  • 소프트웨어는 soft와 ware의 합성어이다. ware는 상품 즉, product를 뜻한다. soft는 말 그대로 부드럽다는 뜻이다. 소프트웨어를 만든 이유는 기계의 행위를 쉽게 변경할 수 있도록 하기 위해서이다. 만약 기계의 행위를 바꾸는 일을 어렵게 만들고자 했다면 소프트웨어가 아니라 하드웨어라고 불렀을 것이다.

행위 vs 아키텍처 : 둘 중 어디에 집중 해야 할까?

  • 아이젠하워 메트릭스

긴급함긴급하지 않음

중요함 중요함 긴급함 중요함 긴급하지 않음
중요하지 않음 중요하지 않음 긴급함 중요하지 않음 긴급하지 않음

내겐 두 가지 유형의 문제가 있습니다. 하나는 긴급하며, 다른 하나는 중요합니다. 긴급한 문제는 중요하지 않으며, 중요한 문제는 절대 긴급하지 않습니다.

  • 행위 ==> 긴급
  • 아키텍처 ==> 중요함

결론

  • 긴급하지만 중요하지 않은 일을 우선적으로 처리하라고 요구를 받을테지만 프로그래머들은 긴급하지 않지만 중요한 일과 조율을 통해 해내야만 한다.
  • 아키텍처가 후순위가 되면 시스템을 개발하는 비용이 더 많이 들고, 일부 또는 전체 시스템에 변경을 가하는 일이 현실적으로 불가능해진다.

 

 

클린 아키첵처 전체 보기 

클린 아키텍처란? https://blog.kjslab.com/199
클린 아키텍처 - 설계원칙 - SRP https://blog.kjslab.com/200 
클린 아키텍처 - 설계원칙 - OCP https://blog.kjslab.com/201 
클린 아키텍처 - 설계원칙 - LSP https://blog.kjslab.com/202 
클린 아키텍처 - 설계원칙 - ISP https://blog.kjslab.com/203  
클린 아키텍처 - 설계원칙 - DIP & SOLID 요약 https://blog.kjslab.com/204 
클린 아키텍처 - 컴포넌트 https://blog.kjslab.com/205 
클린 아키텍처 - 컴포넌트 결합 - ADP https://blog.kjslab.com/206   
클린 아키텍처 - 컴포넌트 결합 - SDP https://blog.kjslab.com/207
클린 아키텍처 - 컴포넌트 결합 - SAP & 결론 https://blog.kjslab.com/208 

댓글