클린 아키텍처 - 소프트웨어 구조와 설계의 원칙

클린 아키텍처 - 소프트웨어 구조와 설계의 원칙

$29.92
저자

로버트C.마틴

저자:로버트C.마틴
‘밥’이라고불리며,오브젝트멘토(ObjectMentor,Inc.)의창립자이자대표다.밥과그의소프트웨어컨설턴트팀은객체지향디자인,패턴,UML,애자일방법론,그리고익스트림프로그래밍으로전세계의고객에게서비스를제공하고있다.
소프트웨어산업의지도자로서C++리포트의편집장,애자일연합의의장을맡아업계에기여했다.
또한엉클밥컨설팅(UncleBobConsulting)의창립자며,아들미카마틴과함께클린코더스(CleanCoders)를세웠다.
《클린코드》,《UML실전에서는이것만쓴다》를포함한베스트셀러의저자이기도한그는《PatternLanguagesofProgramDesign3》의편집위원장,《MoreC++Gems》의편집위원이었으며,제임스뉴커크와《XPinPractice》를공동저술하기도했다.1996년부터1999년까지는의편집위원장이었으며,국제콘퍼런스와무역전시회에서유명한강연자이기도하다.

역자:송준이

목차

===1부소개===
1장설계와아키텍처란?
__목표는?
__사례연구
__결론

2장두가지가치에대한이야기
__행위
__아키텍처
__더높은가치
__아이젠하워매트릭스
__아키텍처를위해투쟁하라

===2부벽돌부터시작하기:프로그래밍패러다임===
3장패러다임개요
__구조적프로그래밍
__객체지향프로그래밍
__함수형프로그래밍
__생각할거리
__결론

4장구조적프로그래밍
__증명
__해로운성명서
__기능적분해
__엄밀한증명은없었다
__과학이구출하다
__테스트
__결론

5장객체지향프로그래밍
__캡슐화?
__상속?
__다형성?
__결론

6장함수형프로그래밍
__정수를제곱하기
__불변성과아키텍처
__가변성의분리
__이벤트소싱
__결론

===3부설계원칙===
7장SRP:단일책임원칙
__징후1:우발적중복
__징후2:병합
__해결책
__결론

8장OCP:개방-폐쇄원칙
__사고실험
__방향성제어
__정보은닉
__결론

9장LSP:리스코프치환원칙
__상속을사용하도록가이드하기
__정사각형/직사각형문제
__LSP와아키텍처
__LSP위배사례
__결론

10장ISP:인터페이스분리원칙
__ISP와언어
__ISP와아키텍처
__결론

11장DIP:의존성역전원칙
__안정된추상화
__팩토리
__구체컴포넌트
__결론

===4부컴포넌트원칙===
12장컴포넌트
__컴포넌트의간략한역사
__재배치성
__링커
__결론

13장컴포넌트응집도
__REP:재사용/릴리스등가원칙
__CCP:공통폐쇄원칙
__CRP:공통재사용원칙
__컴포넌트응집도에대한균형다이어그램
__결론

14장컴포넌트결합
__ADP:의존성비순환원칙
__하향식(top-down)설계
__SDP:안정된의존성원칙
__SAP:안정된추상화원칙
__결론

===5부아키텍처===
15장아키텍처란?
__개발
__배포
__운영
__유지보수
__선택사항열어두기
__장치독립성
__광고우편
__물리적주소할당
__결론

16장독립성
__유스케이스
__운영
__개발
__배포
__선택사항열어놓기
__계층결합분리
__유스케이스결합분리
__결합분리모드
__개발독립성
__배포독립성
__중복
__결합분리모드(다시)
__결론

17장경계:선긋기
__두가지슬픈이야기
__FitNesse
__어떻게선을그을까?그리고언제그을까?
__입력과출력은?
__플러그인아키텍처
__플러그인에대한논의
__결론

18장경계해부학
__경계횡단하기
__두려운단일체
__배포형컴포넌트
__스레드
__로컬프로세스
__서비스
__결론

19장정책과수준
__수준
__결론

20장업무규칙
__엔티티
__유스케이스
__요청및응답모델
__결론

21장소리치는아키텍처
__아키텍처의테마
__아키텍처의목적
__하지만웹은?
__프레임워크는도구일뿐,삶의방식은아니다
__테스트하기쉬운아키텍처
__결론

22장클린아키텍처
__의존성규칙
__전형적인시나리오
__결론

23장프레젠터와험블객체
__험블객체패턴
__프레젠터와뷰
__테스트와아키텍처
__데이터베이스게이트웨이
__데이터매퍼
__서비스리스너
__결론

24장부분적경계
__마지막단계를건너뛰기
__일차원경계
__퍼사드
__결론

25장계층과경계
__움퍼스사냥게임
__클린아키텍처?
__흐름횡단하기
__흐름분리하기
__결론

26장메인(Main)컴포넌트
__궁극적인세부사항
__결론

27장'크고작은모든'서비스들
__서비스아키텍처?
__서비스의이점?
__야옹이문제
__객체가구출하다
__컴포넌트기반서비스
__횡단관심사
__결론

28장테스트경계
__시스템컴포넌트인테스트
__테스트를고려한설계
__테스트API
__결론

29장클린임베디드아키텍처
__앱-티튜드테스트
__타깃-하드웨어병목현상
__결론

===6부세부사항===
30장데이터베이스는세부사항이다
__관계형데이터베이스
__데이터베이스시스템은왜이렇게널리사용되는가?
__디스크가없다면어떻게될까?
__세부사항
__하지만성능은?
__개인적인일화
__결론

31장웹은세부사항이다
__끝없이반복하는추
__요약
__결론

32장프레임워크는세부사항이다
__프레임워크제작자
__혼인관계의비대칭성
__위험요인
__해결책
__이제선언합니다
__결론

33장사례연구:비디오판매
__제품
__유스케이스분석
__컴포넌트아키텍처
__의존성관리
__결론

34장빠져있는장
__계층기반패키지
__기능기반패키지
__포트와어댑터
__컴포넌트기반패키지
__구현세부사항엔항상문제가있다
__조직화vs.캡슐화
__다른결합분리모드
__결론:빠져있는조언

===7부부록===
부록A아키텍처고고학

출판사 서평

이책에서다루는내용
●소프트웨어아키텍트가해내야할일과그일을해내기위한규율과실천법을배운다.
●기능,구성요소분리,데이터관리를위한소프트웨어설계핵심원칙을숙달한다.
●프로그래밍패러다임이규율을강제하기위해개발자의자유를어떻게제약하는지알아본다.
●무엇이정말중요하고,무엇이중요치않은'세부사항'인지이해한다.
●웹,데이터베이스,리치클라이언트,콘솔,임베디드애플리케이션의고수준구조를최적화한다.
●구성요소혹은서비스사이의경계와계층을제대로정의한다.ㄴ
●아키텍처가잘못되는이유와잘못된결과가나오지않게예방하거나고치는방법을배운다.

이책은모든소프트웨어아키텍트,시스템분석가,설계자,소프트웨어관리자는물론다른사람의설계를구현해내야하는모든프로그래머가읽어야하는필독서다.