skip to content
Practical API design : confessions of a Java Framework architect Preview this item
ClosePreview this item
Checking...

Practical API design : confessions of a Java Framework architect

Author: Jaroslav Tulach
Publisher: Berkeley, Calif. : Apress, ©2008.
Series: Expert's voice in Java technology.
Edition/Format:   eBook : Document : EnglishView all editions and formats
Summary:
You might think more than enough design books exist in the programming world already. In fact, there are so many that it makes sense to ask why you would read yet another. Is there really a need for yet another design book? In fact, there is a greater need than ever before, and Practical API Design: Confessions of a Java Framework Architect fills that need! * Teaches you how to write an API that will stand the test  Read more...
Rating:

(not yet rated) 0 with reviews - Be the first.

Subjects
More like this

Find a copy in the library

&AllPage.SpinnerRetrieving; Finding libraries that hold this item...

Details

Genre/Form: Electronic books
Additional Physical Format: Print version:
Tulach, Jaroslav.
Practical API design : confessions of a Java framework architect.
Berkeley, CA : Apress; New York : Distributed to the book trade worldwide by Springer-Verlag New York, ©2008
(OCoLC)263458862
Material Type: Document, Internet resource
Document Type: Internet Resource, Computer File
All Authors / Contributors: Jaroslav Tulach
ISBN: 1430209747 9781430209744 128177278X 9781281772787
OCLC Number: 319586777
Description: 1 online resource (xxvii, 387 pages) : illustrations
Contents: PART 1: Theory and Justification --
CHAPTER 1 The Art of Building Modern Software --
Rationalism, Empiricism, and Cluelessness --
Evolution of Software So Far --
Gigantic Building Blocks --
Beauty, Truth, and Elegance --
More Cluelessness! --
CHAPTER 2 The Motivation to Create an API --
Distributed Development --
Modularizing Applications --
It's All About Communication --
Empirical Programming --
The First Version Is Always Easy --
CHAPTER 3 Determining What Makes a Good API --
Method and Field Signatures --
Files and Their Content --
Environment Variables and Command-Line Options --
Text Messages As APIs --
Protocols --
Behavior --
I18N Support and L10N Messages --
Wide Definition of APIs --
How to Check the Quality of an API --
CHAPTER 4 Ever-Changing Targets --
The First Version Is Never Perfect --
Backward Compatibility --
The Importance of Being Use Case Oriented --
API Reviews --
Life Cycle of an API --
Incremental Improvements --
PART 2: Practical Design --
CHAPTER 5 Do Not Expose More Than You Want --
A Method Is Better Than a Field --
A Factory Is Better Than a Constructor --
Make Everything Final --
Do Not Put Setters Where They Do Not Belong --
Allow Access Only from Friend Code --
Give the Creator of an Object More Rights --
Do Not Expose Deep Hierarchies --
CHAPTER 6 Code Against Interfaces, Not Implementations --
Removing a Method or a Field --
Removing or Adding a Class or an Interface --
Inserting an Interface or a Class into an Existing Hierarchy --
Adding a Method or a Field --
Comparing Java Interfaces and Classes --
In Weakness Lies Strength --
A Method Addition Lover 's Heaven --
Are Abstract Classes Useful? --
Getting Ready for Growing Parameters --
Interfaces vs. Classes --
CHAPTER 7 Use Modular Architecture --
Types of Modular Design --
Intercomponent Lookup and Communication --
Writing an Extension Point --
The Need for Cyclic Dependencies --
Lookup Is Everywhere --
Overuse of Lookup --
CHAPTER 8 Separate APIs for Clients and Providers --
Expressing API/SPI in C and Java --
API Evolution Is Different from SPI Evolution --
Writer Evolution Between Java 1.4 and 1.5 --
Split Your API Reasonably --
CHAPTER 9 Keep Testability in Mind --
API and Testing --
The Fade of the Specification --
Good Tools Make Any API Easier --
Test Compatibility Kit --
CHAPTER 10 Cooperating with Other APIs --
Beware of Using Other APIs --
Leaking Abstractions --
Enforcing Consistency of APIs --
Delegation and Composition --
Prevent Misuses of the API --
Do Not Overuse the JavaBeans Listener Pattern --
CHAPTER 11 Runtime Aspects of APIs --
Fixing Odyssey --
Reliability and Cluelessness --
Synchronization and Deadlocks --
Document the Threading Model --
Pitfalls of Java Monitors --
Preparing for Reentrant Calls --
Memory Management --
CHAPTER 12 Declarative Programming --
Make Objects Immutable --
Immutable Behavior --
Compatibility of Documents --
PART 3: Daily Life --
CHAPTER 13 Extreme Advice Considered Harmful --
An API Must Be Beautiful --
An API Has to Be Correct --
An API Has to Be Simple --
An API Has to Hav.
Series Title: Expert's voice in Java technology.
Responsibility: Jaroslav Tulach.

Abstract:

You might think more than enough design books exist in the programming world already. In fact, there are so many that it makes sense to ask why you would read yet another. Is there really a need for yet another design book? In fact, there is a greater need than ever before, and Practical API Design: Confessions of a Java Framework Architect fills that need! * Teaches you how to write an API that will stand the test of Time * Written by the designer of the NetBeans API at Sun * Based on best practices, scalability, and API design patterns.

Reviews

User-contributed reviews
Retrieving GoodReads reviews...
Retrieving DOGObooks reviews...

Tags

Be the first.

Similar Items

Confirm this request

You may have already requested this item. Please select Ok if you would like to proceed with this request anyway.

Linked Data


Primary Entity

<http://www.worldcat.org/oclc/319586777> # Practical API design : confessions of a Java Framework architect
    a schema:Book, schema:MediaObject, schema:CreativeWork ;
    library:oclcnum "319586777" ;
    library:placeOfPublication <http://id.loc.gov/vocabulary/countries/cau> ;
    library:placeOfPublication <http://experiment.worldcat.org/entity/work/data/793201991#Place/berkeley_calif> ; # Berkeley, Calif.
    schema:about <http://dewey.info/class/005.1/e22/> ;
    schema:about <http://id.worldcat.org/fast/811704> ; # Application program interfaces (Computer software)
    schema:bookFormat schema:EBook ;
    schema:copyrightYear "2008" ;
    schema:creator <http://viaf.org/viaf/11751965> ; # Jaroslav Tulach
    schema:datePublished "2008" ;
    schema:description "You might think more than enough design books exist in the programming world already. In fact, there are so many that it makes sense to ask why you would read yet another. Is there really a need for yet another design book? In fact, there is a greater need than ever before, and Practical API Design: Confessions of a Java Framework Architect fills that need! * Teaches you how to write an API that will stand the test of Time * Written by the designer of the NetBeans API at Sun * Based on best practices, scalability, and API design patterns."@en ;
    schema:description "PART 1: Theory and Justification -- CHAPTER 1 The Art of Building Modern Software -- Rationalism, Empiricism, and Cluelessness -- Evolution of Software So Far -- Gigantic Building Blocks -- Beauty, Truth, and Elegance -- More Cluelessness! -- CHAPTER 2 The Motivation to Create an API -- Distributed Development -- Modularizing Applications -- It's All About Communication -- Empirical Programming -- The First Version Is Always Easy -- CHAPTER 3 Determining What Makes a Good API -- Method and Field Signatures -- Files and Their Content -- Environment Variables and Command-Line Options -- Text Messages As APIs -- Protocols -- Behavior -- I18N Support and L10N Messages -- Wide Definition of APIs -- How to Check the Quality of an API -- CHAPTER 4 Ever-Changing Targets -- The First Version Is Never Perfect -- Backward Compatibility -- The Importance of Being Use Case Oriented -- API Reviews -- Life Cycle of an API -- Incremental Improvements -- PART 2: Practical Design -- CHAPTER 5 Do Not Expose More Than You Want -- A Method Is Better Than a Field -- A Factory Is Better Than a Constructor -- Make Everything Final -- Do Not Put Setters Where They Do Not Belong -- Allow Access Only from Friend Code -- Give the Creator of an Object More Rights -- Do Not Expose Deep Hierarchies -- CHAPTER 6 Code Against Interfaces, Not Implementations -- Removing a Method or a Field -- Removing or Adding a Class or an Interface -- Inserting an Interface or a Class into an Existing Hierarchy -- Adding a Method or a Field -- Comparing Java Interfaces and Classes -- In Weakness Lies Strength -- A Method Addition Lover 's Heaven -- Are Abstract Classes Useful? -- Getting Ready for Growing Parameters -- Interfaces vs. Classes -- CHAPTER 7 Use Modular Architecture -- Types of Modular Design -- Intercomponent Lookup and Communication -- Writing an Extension Point -- The Need for Cyclic Dependencies -- Lookup Is Everywhere -- Overuse of Lookup -- CHAPTER 8 Separate APIs for Clients and Providers -- Expressing API/SPI in C and Java -- API Evolution Is Different from SPI Evolution -- Writer Evolution Between Java 1.4 and 1.5 -- Split Your API Reasonably -- CHAPTER 9 Keep Testability in Mind -- API and Testing -- The Fade of the Specification -- Good Tools Make Any API Easier -- Test Compatibility Kit -- CHAPTER 10 Cooperating with Other APIs -- Beware of Using Other APIs -- Leaking Abstractions -- Enforcing Consistency of APIs -- Delegation and Composition -- Prevent Misuses of the API -- Do Not Overuse the JavaBeans Listener Pattern -- CHAPTER 11 Runtime Aspects of APIs -- Fixing Odyssey -- Reliability and Cluelessness -- Synchronization and Deadlocks -- Document the Threading Model -- Pitfalls of Java Monitors -- Preparing for Reentrant Calls -- Memory Management -- CHAPTER 12 Declarative Programming -- Make Objects Immutable -- Immutable Behavior -- Compatibility of Documents -- PART 3: Daily Life -- CHAPTER 13 Extreme Advice Considered Harmful -- An API Must Be Beautiful -- An API Has to Be Correct -- An API Has to Be Simple -- An API Has to Hav."@en ;
    schema:exampleOfWork <http://worldcat.org/entity/work/id/793201991> ;
    schema:genre "Electronic books"@en ;
    schema:inLanguage "en" ;
    schema:isPartOf <http://experiment.worldcat.org/entity/work/data/793201991#Series/expert_s_voice_in_java_technology> ; # Expert's voice in Java technology.
    schema:isSimilarTo <http://www.worldcat.org/oclc/263458862> ;
    schema:name "Practical API design : confessions of a Java Framework architect"@en ;
    schema:productID "319586777" ;
    schema:publication <http://www.worldcat.org/title/-/oclc/319586777#PublicationEvent/berkeley_calif_apress_2008> ;
    schema:publisher <http://experiment.worldcat.org/entity/work/data/793201991#Agent/apress> ; # Apress
    schema:url <http://www.myilibrary.com?id=177278&ref=toc> ;
    schema:url <http://www.myilibrary.com?id=177278> ;
    schema:url <http://public.eblib.com/choice/publicfullrecord.aspx?p=364619> ;
    schema:url <http://link.springer.com/10.1007/978-1-4302-0974-4> ;
    schema:url <https://cornell-library.skillport.com/skillportfe/main.action?assetid=29020> ;
    schema:url <https://doi.org/10.1007/978-1-4302-0974-4> ;
    schema:url <http://www.books24x7.com/marc.asp?bookid=29020> ;
    schema:url <http://rave.ohiolink.edu/ebooks/ebc/9781430209744> ;
    schema:url <https://link.springer.com/openurl?genre=book&isbn=978-1-4302-0973-7> ;
    schema:url <http://www.vlebooks.com/vleweb/product/openreader?id=none&isbn=9781430209744> ;
    schema:url <http://public.ebookcentral.proquest.com/choice/publicfullrecord.aspx?p=364619> ;
    schema:url <http://link.springer.com/openurl?genre=book&isbn=978-1-4302-0973-7> ;
    schema:workExample <http://worldcat.org/isbn/9781281772787> ;
    schema:workExample <http://worldcat.org/isbn/9781430209744> ;
    wdrs:describedby <http://www.worldcat.org/title/-/oclc/319586777> ;
    .


Related Entities

<http://experiment.worldcat.org/entity/work/data/793201991#Place/berkeley_calif> # Berkeley, Calif.
    a schema:Place ;
    schema:name "Berkeley, Calif." ;
    .

<http://experiment.worldcat.org/entity/work/data/793201991#Series/expert_s_voice_in_java_technology> # Expert's voice in Java technology.
    a bgn:PublicationSeries ;
    schema:hasPart <http://www.worldcat.org/oclc/319586777> ; # Practical API design : confessions of a Java Framework architect
    schema:name "Expert's voice in Java technology." ;
    schema:name "Expert's voice in Java technology" ;
    .

<http://id.worldcat.org/fast/811704> # Application program interfaces (Computer software)
    a schema:Intangible ;
    schema:name "Application program interfaces (Computer software)"@en ;
    .

<http://viaf.org/viaf/11751965> # Jaroslav Tulach
    a schema:Person ;
    schema:familyName "Tulach" ;
    schema:givenName "Jaroslav" ;
    schema:name "Jaroslav Tulach" ;
    .

<http://worldcat.org/isbn/9781281772787>
    a schema:ProductModel ;
    schema:isbn "128177278X" ;
    schema:isbn "9781281772787" ;
    .

<http://worldcat.org/isbn/9781430209744>
    a schema:ProductModel ;
    schema:isbn "1430209747" ;
    schema:isbn "9781430209744" ;
    .

<http://www.worldcat.org/oclc/263458862>
    a schema:CreativeWork ;
    rdfs:label "Practical API design : confessions of a Java framework architect." ;
    schema:description "Print version:" ;
    schema:isSimilarTo <http://www.worldcat.org/oclc/319586777> ; # Practical API design : confessions of a Java Framework architect
    .


Content-negotiable representations

Close Window

Please sign in to WorldCat 

Don't have an account? You can easily create a free account.