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

1장 설계와 아키텍처란?

by 오오오오니 2025. 3. 17.

1장 설계와 아키텍처란?

비어 있음
2024년 4월 11일

설계와 아키텍처는 아무런 차이가 없다.

아키텍처는 보다 더 고수준을 가리킬 때 흔히 사용되지만 실제로 하는 일을 보면 이러한 구분은 무의미하다.
저수준의 세부사항과 고수준의 구조는 모두 소프트웨어 전체 설계의 구성요소다.
개별로 존재할 수 없고 이 둘을 구분 짓는 경계는 뚜렷하지 않다.
고수준에서 저수준으로 향하는 의사결정의 연속성만이 있을 뿐이다.

좋은 소프트웨어 설계의 목표는?

소프트웨어 아키텍처의 목표는 필요한 시스템을 만들고 유지보수하는 데 투입되는 인력을 최소화하는 데 있다.
설계 품질을 재는 척도는 고객의 요구를 만족시키는 데 드는 비용을 재는 척도와 다름없다.

사례 연구

개발자 수는 증가했지만 코드 생산성은 낮아진다. (처음제품보다 40배 많은 비용 소모)
→ 회사의 자원을 고갈시키며 회사를 망하게 할 수도 있다.
경영자의 입장에서는우려의 대상이다.
무엇이 잘못이였고 어떤 조치를 취해야 할까?

무엇이 잘못되었나?

“코드는 나중에 정리하면 돼. 당장은 시장에 출시하는 게 먼저야!”
라고 생각했지만 사장의 압박이 계속 되고 경쟁사가 따라오기 때문에 코드를 정리할 시간은 없다.
그 후에 오는 기능들을 만들면서 코드는 점점 엉망징찬이 된다.
잘못된 생각
“지저분한 코드를 작성하면 단기간에는 빠르게 갈 수 있고, 장기적으로 볼 때만 생산성이 낮아진다.”
⇒ 엉망으로 만들면 깔끔하게 유지할 때보다 항상 더 느리다.
“빨리가는 유일한 방법은 제대로 가는 것이다.”

결론

어떤 경우라도 개발 조식이 할 수 있는 최고의 선택지는 소프트웨어 아키텍처의 품질을 심각하게 고민하는 것
이 책을 통해 좋은 소프트웨어 아키턱처가 무엇인지 이해하자.

' > 클린 아키텍처' 카테고리의 다른 글

11장 DIP: 의존성 역전 원칙  (0) 2025.03.18
9장 LSP: 리스코프 치환 원칙  (0) 2025.03.18
7장 SRP: 단일 책임 원칙  (0) 2025.03.18
5장 객체 지향 프로그래밍  (0) 2025.03.17
3장 패러다임 개요  (0) 2025.03.17