본문 바로가기

반응형

클린 아키텍처

[클린 아키텍처] 프로그래밍 패러다임 패러다임 - 패러다임이란 프로그래밍을 하는 방법 - 어떤 프로그래밍 구조를 사용할지, 언제 이 구조를 사용해야하는지를 결정 - 언어에 독립적 - 구조적, 객체 지향, 함수형 프로그래밍 세 종류가 있다. 구조적 프로그래밍 - 초기 프로그래밍은 많은 세부상들을 검증을 하기 위해 작은 단위로 분해하려했다. - 하지만 goto 문장이 모듈을 더 작은 단위로 재귀적으로 분해하는 과정에 방해가 되는 경우가 있다는것을 발견 - 그 중 if, then, else, do, while 과 같은 분기와 반복 제어문은 검증가능한 단위로 재귀적으로 세분화 - 즉 거대한 기획에 대해 고수준의 기능들로 분해하고 다시 각 기능을 저수준의 함수들로 분해할 수 있게 되었다. - 또한 세분화된 기능들의 테스트가 용이해졌다. 객체 지향 프.. 더보기
[클린 아키텍처] 아키텍처와 설계 아키텍처와 설계 둘 사이에는 차이가 없다고 볼 수 있다. 아키텍처가 조금 더 거시적인 관점, 설계는 미시적인 관점 아키텍처 - 저수준의 세부사항과는 분리된 고수준의 무언가를 가르킬 때 사용 설계 - 저수준의 구조 또는 결정사항 등을 의미 소프트웨어에서 설계 - 저수준의 세부사항과 고수준의 구조는 모두 소프트웨어의 전체 설계의 구성요소 - 필요한 시스템을 만들고 유지보수하는데 투입되는 인력 최소화를 목표 - 비용이 낮고 시스템 수명이 다할 때까지 낮게 유지할 수 있다면 좋은 설계 - 새로운 기능이 출시할 때마다 비용이 증가하면 나쁜 설계 소프트웨어 시스템의 두 가지 가치 행위 - 이해관계자의 기능 명세서나 요구사항 문서를 구체화 하도록 코드를 작성 - 이를 위해 이해관계자는 프로그래머를 고용 - 기능이 있.. 더보기

반응형