728x90
반응형

세부사항 3

Clean Architecture (클린 아키텍처) - 32장. 프레임워크는 세부사항이다 Frameworks Are Details

■ 32장 프레임워크는 세부사항이다 Frameworks Are Details ​ 프레임워크 역시 세부사항이다. 우리가 잘 아는 Spring 같은 프레임워크가 그렇다. 따라서 프레임워크는 아키텍처가 아니며 업무규칙으로부터 떨어져야 한다. 아키텍처 바깥쪽 원에 속하는 세부사항으로 취급하고 안으로 못 들어오게 해야 한다. ​ 물론 이것은 현실적이지 않을 수 있다. 사실상 규모가 있는 대부분의 프로젝트에서는 당연히 어떤 형태로든지 프레임워크를 쓰고 있으며 아마 저자가 당부하는 아키텍처 원칙을 적용하지 않을 것이기 때문이다. ​ 저자는 이에 대한 해결책으로, 가령 업무 객체를 만들 때 프레임워크가 자신의 기반 클래스로부터 파생하기를 요구하면, Proxy를 만들고 업무규칙에 플러그인할 수 있는 컴포넌트를 Proxy..

클린 아키텍처 - 31장. 웹은 세부사항이다 The Web Is a Detail

■ 31장 웹은 세부사항이다 The Web Is a Detail ​ 웹은 GUI 이므로 아키텍처에서 업무로직과 분리되어야 하는 세부사항이다. ​ 물론 웹은 너무 특이해서 장치 독립적인 아키텍처를 추구하는 것이 어렵다는 것을 저자도 어느정도 인정은 한다. 다만 UI와 어플리케이션 사이에 존재하는 또다른 추상화 경계인 유스케이스가 어느정도 완충작용을 할 수 있으리라 본다. ​ ​

클린 아키텍처 - 30장. 데이터베이스는 세부사항이다 The Database Is a Detail

◆ Part 6 세부사항 Details ​ ■ 30장 데이터베이스는 세부사항이다 The Database Is a Detail ​ 이 책에서 일관되게 표현하고 주장하는 것 중 하나는 바로 정책과 세부사항이라는 개념이다. 정책은 시스템의 업무 로직을 말하고, 세부사항은 이를 지원하는 도구 정도로 인식하면 된다. ​ 이러한 관점에서 데이터베이스는 세부사항에 속한다. 데이터 구조과 모델은 아키텍처에서 중요한 요소가 맞지만 데이터베이스는 아니다. (여기서 말하는 데이터베이스는 주로 RDBMS를 지칭하는 듯 보인다) ​ 데이터베이스가 발전하게 된 이유는 데이터를 디스크에 저장하면서 속도 저하를 만회하기 위한 색인, 캐시, 쿼리 플랜 최적화가 필요했기 때문이다. 하지만 이렇게 가져온 데이터는 결국 RAM으로 올라오게..

반응형