김태오

개론 본문

Clean Architecture

개론

ystc1247 2023. 5. 1. 20:18

단일 스레드 앱, 다중 스레드 앱, 소수의 거운 프로세스로 구성된 앱, 다수의 가벼운 프로세스로 구성된 앱.

 

공통점은 아키텍처 규칙이 동일하다는 것이다.

 

아키텍처란 무엇일까?

Software architecture refers to the high-level design of a software system, which involves the organization of its components, their relationships, and their interactions with one another. It provides a blueprint for the construction of the system and serves as a foundation for making key decisions about the system's structure, behavior, and performance.

요약하자면 컴포넌트의 관계와 상호작용을 말한다. 아키텍처는 시스템의 행동, 성능 등에 대한 '설계도'를 제공해준다.

 

Clean Architecture의 저자 Robert C. Martin은 최초의 컴퓨터의 출현 이후 하드웨어는 끝없이 변모하고 진화했지만, 소프트웨어는 성능이 좋아질 뿐 1946년 Alan Turing이 최초로 기계어 코드를 작성했던 것에 비해 규칙이 바뀌지 않았다고 주장한다.

 

프로그램을 동작시키는 일과 올바른 사고력과 통찰력으로 소프트웨어를 구축하는 것에는 차이가 있다.

 

후자의 경우는 단순하고 빠른 유지보수와 쉬운 지속적 동작이 가능한 프로그램을 만들 수 있다.

 

전자의 경우 개발자의 생산성이 급격히 떨어져 수렴하게 되며, 결국 기업의 수익성에 직결되어 사업 모델을 고갈시킨다.

 

타 빅테크 기업의 개발자들의 코드를 참고하며 나의 코드를 수정하며, 나만의 "Clean Architecture"를 실현하려 노력해왔다. 객체 지향 원칙과 SOLID 원칙 등, 깊은 탐구를 할 시기가 되어 Senior의 "Clean Architecture"공부를 시작한다.

 

'Clean Architecture' 카테고리의 다른 글

Clean Architecture  (0) 2023.05.01