함수형 설계, 객체 지향과 만나다 : 다르면서 통하는 두 패러다임의 공명
저자

로버트C.마틴

저자:로버트C.마틴(RobertC.Martin)
로버트C.마틴(엉클밥)은1970년부터프로그래머로일해왔다.그는엉클밥컨설팅(UncleBobConsulting,LLC)의설립자이며,아들미카마틴과함께클린코더스(CleanCoders,LLC)를공동설립했다.각종업계저널에글을수십편기고했고,국제콘퍼런스와전시회에서정기적으로강연하고있다.저서및편저로는『DesigningObject-OrientedC++ApplicationsUsingtheBoochMethod』,『PatternLanguagesofProgramDesign3』,『MoreC++Gems』,『ExtremeProgramminginPractice』,『AgileSoftwareDevelopment:Principles,Patterns,andPractices』,『UMLforJavaProgrammers』,『CleanCode』,『TheCleanCoder』,『FunctionalDesign:Principles,Patterns,andPractices』등이있다.소프트웨어개발업계의선도적인물로3년간‘TheC++Report’의편집장을지냈고,애자일얼라이언스(AgileAlliance)의초대의장을맡았다.

역자:장연호
1990년대후반부터웹개발자로일해왔다.베이직과파스칼로프로그래밍에입문했고,다양한언어로자작게임을개발하고있다.신화와역사,판타지와SF를좋아하고,록과헤비메탈음악을즐기며,8비트와펜티엄이전의고전게임과애니메이션마니아다.

목차

옮긴이의글
헌정의글
추천의글
머리말
감사의말
지은이소개


1부함수형기초

1장불변성
함수형프로그래밍이란무엇인가?
할당의문제
그렇다면왜함수형이라고부르는가?
상태변화가없다고?
불변성이시사하는것

2장지속적데이터
속임수에대해
복사하기
구조적공유

3장재귀와반복
반복
재귀

4장지연계산
지연누적
좋다.그런데왜?
일단마무리

5장상태유지
값을바꾸어야만할때
소프트웨어트랜잭셔널메모리
삶은힘들다,소프트웨어는더힘들다

2부비교분석

6장소인수
자바버전
클로저버전
결론

7장볼링게임
자바버전
클로저버전
자바스크립트버전
결론

8장험담하는버스운전사
자바버전
클로저버전
자바스크립트버전
결론

9장객체지향프로그래밍
급여문제함수형풀이
네임스페이스와소스파일
결론

10장타입
균형잡힌타입사용

3부함수형디자인

11장데이터흐름

12장SOLID원칙
단일책임원칙
개방-폐쇄원칙
리스코프대체원칙
인터페이스분리원칙
의존성역전원칙

4부실용적함수형프로그래밍

13장테스트
하지만REPL은어떨까?
목은어떨까?
프로퍼티기반테스트
진단기술
함수형

14장GUI
퀼로만드는로고거북이그래픽

15장동시성
빗나간멀티코어예상

5부디자인패턴

16장디자인패턴리뷰
함수형프로그래밍의패턴
추상서버
어댑터
커맨드
컴포지트
데코레이터
방문자
추상팩터리
결론
덧붙이는말:객체지향독약?

6부사례연구

17장워토(WA-Tor)
가려운곳긁기
샤워하는동안문제를풀다
이제걷잡을수없이번식할시간
상어는어찌되었나?
결론

후기
찾아보기