📄️ 1. 소개
서문
📄️ 2. 프로그래밍 패러다임
구조적 프로그래밍은 지어 흐름의 직접적인 전환에 대해 규칙을 부과한다.
📄️ 3. 설계 원칙
서문
📄️ 15.아키텍처란
- 소프트웨어 시스템의 아키텍처란 시스템을 구축했던 사람들이 만들어낸 시스템의 형태이다.
📄️ 16. 독립성
좋은 아키텍처는 다음을 지원해야 한다.
📄️ 17. 선 긋기
소프트웨어 아키텍처는 선을 긋는 기술이며, 이러한 선을 경계라고 부른다.
📄️ 18. 경계 해부학 요약
시스템 아키텍처는 일련의 소프트웨어 컴포넌트와 그 컴포넌트들을 분리하는 경계에 의해 정의된다.
📄️ 19. 정책과 수준
소프트웨어 시스템이란 정책을 기술한 것이다. 컴퓨터 프로그램이란 각 입력을 출력으로 변환하는 정책을 상세하게 기술한 설명서다.
📄️ 20. 업무 규칙
업무 규칙 = 비즈니스 로직
📄️ 21. 소리치는 아키텍처
도서관의 아키텍처를 보고 있다고 가정하자. 커다란 정문, 체크인과 체크아웃을 담당할 사서를 위한 공간, 독서 공간.. 이를 보면 이 아키텍처는 "도서관이야"라고 소리칠 것이다.
📄️ 22장 클린 아키텍처
여러 아키텍처들의 목표는 모두 같은데, 바로 관심사의 분리다. 이들은 모두 소프트웨어를 계층으로 분리함으로써 관심사의 분리라는 목표를 달성할 수 있었다. 각 아키텍처는 최소한 업무 규칙을 위한 계층 하나와, 사용자와 시스템 인터페이스를 위한 또 다른 계층 하나를 반드시 포함한다.
📄️ 23. 프리젠터와 험블 객체
프리젠터는 험블 객체 패턴을 따른 형태로, 아키텍처 경계를 식별하고 보호하는 데 도움이 된다.