개발_프로그래밍

클린 아키텍처 - 18장. 경계 해부학 Boundary Anatomy

_랄프_ 2022. 10. 2. 06:57
728x90

■ 18장 경계 해부학 Boundary Anatomy

경계의 예로는 단일체(monolith), 배포형 컴포넌트, 스레드, 로컬 프로세스, 서비스 정도가 있다.

1. 단일체는 그냥 통으로 된 하나의 소프트웨어로 보면 된다. 그래서 사실상 물리적인 경계가 잘 드러나지 않는다.

2. 배포형 컴포넌트는 dll, jar, gem, 유닉스 공유 라이브러리 등으로 배포 과정만 차이가 날 뿐 단일체와 동일하다.

3. 스레드는 하나의 컴포넌트에 포함될 수도 있고 여러 컴포넌트에 분산될 수도 있으므로 사실 경계라고 할 수는 없다. (실행계획과 순서를 체계화하는 방법에 가깝다고 함)

4. 로컬 프로세스는 각각 독립된 주소 공간에서 실행되므로 물리적 경계가 비교적 뚜렷하다.

5. 서비스가 물리적으로 가장 뚜렷한 경계이다. 사실 물리적 위치에 구애받지 않는다. 저수준 서비스는 반드시 고수준 서비스에 플러그인 되어야 한다. 고수준 서비스의 소스코드에는 저수준 서비스를 특정 짓는 어떤 물리적인 정보(가령, URI 같은)도 포함해서는 안 된다.

<19장에서 계속>

 

 

728x90
반응형