본문 바로가기
Programming/Clean Architecture

0장. 들어가며

by JKROH 2023. 10. 5.
반응형
소프트웨어 아키텍처의 규칙이란 프로그램의 구성요소를 정렬하고 조립하는 방법에 관한 규칙이다.
그리고 이 구성요소가 보편적이며 변하지 않았으므로, 이들을 정렬하는 규칙 역시도 보편적이며 변한 것이 없다.
그리고 이 책은 바로 이 규칙, 세월이 흘러도 변치 않는 그 규칙에 관한 것이다.

 

 해당 카테고리는 로버트 마틴의 서적인 클린 아키텍처를 읽고 학습한 바를 정리하고자 만든 카테고리입니다.

 

 클린 아키텍처 서적을 공부하는 이유는 다음과 같습니다.

 

  • 잘 설계된 아키텍처는 좋은 코드를 만들어냅니다. 개발 입문자들이 흔히 하는 착각은 '코드를 잘 짜면 아키텍처는 따라온다' 입니다. 그러나 이는 잘못된 생각입니다. 일단 좋은 아키텍처가 기반이 되어야 좋은 코드, 다시 말해 유지보수하기 좋고 변화와 확장에 용이한 코드를 작성할 수 있습니다. 프로그램은 크고 작은 코드의 결합체입니다. 아키텍처도 결국은 코드고, 기능도 코드입니다. 작고 섬세한 세부적인 코드가 모여 좋은 코드를 이루는 것보다, 큰 틀의 좋은 코드를 작성하고 깨끗한 규율을 잡아놓은 상태에서 세부적인 코드를 작성하는 것이 더 좋은 코드로 향하는 지름길입니다.
  • 어느 애플리케이션을 어느 언어로 개발하더라도, 좋은 설계 원칙은 변하지 않습니다. 우리가 만드는 애플리케이션이 서로 완전히 달라보이더라도, 그 근간은 애플리케이션이라는 데에 있습니다. 서로 달라 보이는 이유는, 제공하는 기능이 다르기 때문이죠. 아파트와 롯데 타워는 완전히 달라 보입니다. 그러나 그 둘을 건축하는데 있어 적용되는 원칙이 다를까요? 그렇지 않습니다. 둘 모두 '튼튼한 건축물' 이라는 원칙 하에 건축되었습니다. 개발도 마찬가지입니다. 어떤 기능을 제공하던, 서로 얼마나 다른 모습을 보이던, 그 핵심은 '애플리케이션을 만든다'에 있습니다.

 위와 같은 이유로 클린 아키텍처를 읽으며 책의 내용과 이에 대한 저의 개인적인 생각을 정리하며 좋은 아키텍처를 설계하는 역량을 기르고자 합니다.

반응형

댓글