FREE SHIPING FOR OVER $100 - MOSTLY SHIP VIA USPS GROUND ADVANTAGE %D days %H:%M:%S
야로슬라프툴라흐
저자야로슬라프툴라흐(JaroslavTulach)는나중에썬에인수된넷빈즈의설립자이자초기아키텍트다.넷빈즈의기반이되는기술을만든사람으로서지금도넷빈즈오픈소스프로젝트의성공에기여하는모든프로?그래머들의설계실력을향상시키는방법을모색하는프로젝트를진행하고있다.
목차[1부]이론과정당성▣1장:현대소프트웨어구축의예술___합리주의,경험주의,무지___지금까지의소프트웨어의진화___거대한기반요소___아름다움,진리,우아함___더무지해져라!▣2장:API를만드는이유___분산개발___애플리케이션모듈화___비선형적인버전관리___중요한것은의사소통이다___경험적프로그래밍___첫번째버전은늘쉽다▣3장:훌륭한API를결정하는요소___메서드와필드시그너처___파일과파일의내용___환경변수와명령줄옵션___API로서의텍스트메시지___프로토콜___동작방식___I18N지원과L10N메시지___넓은의미의API___API의품질을검사하는법▣4장:시시각각변하는표적___첫번째버전은결코완벽하지않다___하위호환성___유스케이스지향의중요성___API리뷰___API의생명주기___점진적향상[2부]실제설계▣5장:필요이상으로노출하지마라___메서드가필드보다낫다___생성자보다팩터리가낫다___모든것을final로만들어라___어울리지않는곳에설정자메서드를넣지마라___프렌드코드에서만접근하는것을허용하라___객체를만든이에게더많은권한을부여하라___깊은계층구조를노출하지마라▣6장:구현이아닌인터페이스를대상으로코드를작성하라___메서드나필드제거하기___클래스나인터페이스를제거하거나추가하기___기존계층구조에인터페이스나클래스집어넣기___메서드나필드추가하기___자바인터페이스와클래스비교___외유내강___메서드를추가하길좋아하는사람들의천국___추상클래스는유용한가?___매개변수증가를위한대비___인터페이스대클래스▣7장:모듈화아키텍처를사용하라___모듈화설계의유형___상호컴포넌트룩업과통신___확장점작성하기___순환의존성의필요성___Lookup은어디에나있다___Lookup의남용▣8장:클라이언트와제공자를위한API를분리하라___C와자바로API/SPI표현하기___API진화는SPI진화와다르다___Writer의자바1.4와자바1.5사이의진화___API를적절히나눠라▣9장:테스트용이성을염두에둬라___API와테스트___명세의쇠퇴___좋은도구는API를더사용하기쉽게만든다___테스트호환성도구▣10장:다른API와협동하기___다른API를사용하는것을조심하라___추상화누출___API의일관성강제하기___위임과합성___API를잘못사용하지않게하라___자바빈리스너패턴을남용하지마라▣11장:API의런타임측면___고치기여정___신뢰성과무지___동기화와교착상태___재진입성호출대비___메모리관리▣12장:선언형프로그래밍___객체를불변적으로만들어라___불변적인동작방식___문서의호환성[3부]일상생활▣13장:해로운것으로여겨지는극단적인조언___API는아름다워야한다___API는정확해야한다___API는단순해야한다___API는성능이좋아야한다___API는100퍼센트호환성을갖춰야만한다___API는대칭적이어야한다▣14장:API설계의역설___API이중사고___보이지않는일___안정적인API를약속하는두려움극복하기___유지보수비용최소화하기▣15장:API우주의진화___망가진라이브러리되살리기___의식적업그레이드대무의식적업그레이드___대체동작방식___비슷한API의연계와공존▣16장:협동작업___코드를커밋하기전에검토절차밟기___개발자들이API를문서화하도록설득하기___빅브라더는잠들지않는다___API패치수락하기▣17장:게임을활용한API설계실력향상___개요___1일차___2일차___3일차:평가의날___여러분도해보시길!▣18장:확장가능한비지터패턴사례연구___추상클래스___진화준비___기본탐색___명확한버전정의___비단조적진화___인터페이스를사용하는자료구조___클라이언트비지터와제공자비지터___삼중디스패치___비지터를위한행복한결말___편의성문법▣19장:시한부절차___명세버전의중요성___모듈의존성의중요성___제거된부분을영원히놔둬야하는가?___모놀리식API나누기
출판사서평자바프레임워크아키텍트에게서배우는API설계의이론과실제!거의모든프로그램이협업을통해만들어지는오늘날에는프로그래머가곧API설계자이기도하다.적절히설계된API는소프트웨어의수명과진화와도직결되기때문에API설계지식은중요도가점점더커지고있으며,사내프로그램뿐만이아니라공개라이브러리나프레임워크처럼불특정다수를대상으로코드를작성하는개발자라면API설계지식이더욱더필요하다.이책에는넷빈즈프로젝트의아키텍트가10년넘게API를설계,개발,유지보수하면서겪은경험...자바프레임워크아키텍트에게서배우는API설계의이론과실제!거의모든프로그램이협업을통해만들어지는오늘날에는프로그래머가곧API설계자이기도하다.적절히설계된API는소프트웨어의수명과진화와도직결되기때문에API설계지식은중요도가점점더커지고있으며,사내프로그램뿐만이아니라공개라이브러리나프레임워크처럼불특정다수를대상으로코드를작성하는개발자라면API설계지식이더욱더필요하다.이책에는넷빈즈프로젝트의아키텍트가10년넘게API를설계,개발,유지보수하면서겪은경험이고스란히들어있어API설계지식이필요한모든프로그래머와아키텍트에게크게도움될것이다.★이책에서다루는내용★◎API란무엇인가?◎API를제작하는이유와시점◎훌륭한API를설계하기위한기초이론◎모든프로그래밍언어(특히객체지향언어)에적용가능한API설계패턴◎API최적화와테스트독자분들께,서점에서이책을손에들고“이책을사야할까?”라고자문하고계신다면저는이렇게답하겠습니다.만약여러분이작성한코드가다른사람들이작성한코드를컴파일하는데필요하다면여러분은API의세계에들어갈준비가된것입니다.그리고이책은여러분이API의세계를탐험하도록도와줄것입니다.하지만이책은“5번의손쉬운강의로API설계를가르쳐드리지”않습니다.이책은“단3일만에”읽을수있는책이아닙니다!빠르게읽을수있는지침서를찾고계신다면아마이책은아닐것입니다.한편으로API설계에관한깊이있는지식,즉API설계에대한“어떻게”뿐만아니라“왜”에도관심이있다면이책을책장에다시내려놓으시기전에저를잠깐소개해드리겠습니다.제이름은야로슬라프툴라흐이고잘알려진IDE이자자바언어로작성된최초의모듈화데스크톱애플리케이션프레임워크이기도한넷빈즈플랫폼프로젝트의설립자이자초기아키텍트입니다.이책은지난10년간넷빈즈API의설계와유지보수,그리고이러한지식을다른나머지개발자들에게전달하는동안수집해온노트를토대로합니다.이책은넷빈즈연구소의핵심부에서나온연구일지로서각종문제및그러한문제에대해저희가이해한내용,저희가선택한해법,그리고그러한해법을적용한이후에내린결론을기술하고있습니다.저희의지식이넷빈즈를대상으로일할때수집된것들이긴하지만대부분의소프트웨어프로젝트에유용할정도로일반적입니다.적절한API설계지식은21세기소프트웨어를성공적으로제작하는데필수입니다.드넓은API설계의세계를탐험하는동안이책이여러분의안내서가되길바랍니다.