2018년 2월 1일 목요일

Clean Architecture by Robert C. Martin


  • 소프트웨어를 Concerns에 따라 layer로 분리할 때, 주로 Framework, Database, Device등 구체적이고 변하기 쉬운 레이어, UI나 외부와의 인터페이스 역할을 하는 레이어, 어플리케이션 종속적인 비지니스 룰을 가진 레이어, 그리고 어플리케이션 독립적인 비지니스 룰을 가진 레이어로 나누어지는 것을 발견할 수 있다. 
  • 이 중 비지니스 룰과 같이 추상적이고 공통적인 것들(Policy)일수록 내부 동심원으로, 구체적인 레이어(Mechanism) 일수록 외부 동심원으로 표현하였을 때, 그 레이어간 종속성은 원의 외부에서 내부로, 즉, 구체적이고 변하기 쉬운 것으로부터 추상적이고 공통적인 것으로 향한다. 이것이 Clean Architecture의 'Dependency Rule' 이다. 
  • 이렇게 하였을 때, Policy에 해당하는 비지니스 레이어가 Framework, 데이터베이스, UI, 외부시스템으로 부터 독립적일 수 있으며 또한 테스트하기가 용이한 구조가 된다.


https://8thlight.com/blog/uncle-bob/2012/08/13/the-clean-architecture.html

0개의 덧글:

댓글 쓰기

에 가입 댓글 [Atom]

<< 홈