IT/책

[Clean Architecture] 6부, 세부사항

Terriermon 2021. 12. 26. 23:17

Clean Architecture

6부, 세부사항

 

30장, 데이터베이스는 세부사항이다

아키텍처 관점에서 데이터베이스는 엔티티가 아님

> 데이터베이스는 소프트웨어일 뿐

 

데이터베이스는 결국 기술일 뿐, 최하위 유틸리티 함수를 제외하고는 데이터베이스에 대해서 몰라야 함

> 데이터베이스가 테이블 형태라는 것을 알게 되면, 데이터 구조에 결합하게 됨

> 디스크가 어떤 형식인지조차 인식하면 안됨

> 성능은 완전히 캡슐화하여 저수준의 데이터 메커니즘 단에서 다뤄야 함

 

 

31장, 웹은 세부사항이다

웹은 GUI이다. GUI는 계속 바뀐다.

> 그러나 웹과 장치독립성은 어쩌면 비현실 적임

 

UI는 애플리케이션 사이의 추상화가 가능

- 업무 로직은 다수의 유스케이스로 구성

- 각 유스케이스는 사용 자를대신해서 일부함수를 수행

- 각 유스케이스는 입력 데이터, 수행할 처리 과정,출력 데이터를 기반으로 기술

 

 

 

32장, 프레임워크는 세부사항이다.

프레임워크는 쉽게 의존적이게 되기 좋음

> 사용자는 프레임워크 공식 문서를 통해 의존하게 됨

> 프레임워크가 제공하는 것을 벗어나게 되는 시기가 옴

 

프레임워크와 거리두기

아키텍처 바깥의 세부사항으로 프레임워크를 생각해야 함

- 업무 객체를 만들 때 프레임워크가 자신의 기반 클래스로부터 파생하기를 요구하면, 프락시proxy를 만들고, 업무 규칙에 플러그인할 수 있는 컴포넌트에 이들 프락시를 위치

ex) Spring 사용 시, 업무 객체에 어노테이션 보다는 메인 컴포넌트에서 스프링을 사용하여 의존성 주입