Cantitate/Preț
Produs

API Design for C++

Autor Martin Reddy
en Limba Engleză Paperback – 14 mar 2011

Suntem de părere că un punct de plecare excelent pentru a înțelege filosofia acestei lucrări este capitolul dedicat idiomului Pimpl (Pointer to Implementation). Prin acest exercițiu de design, Martin Reddy demonstrează cum izolarea codului sursă de interfața publică nu este doar o tehnică de optimizare a timpului de compilare, ci o strategie esențială pentru menținerea compatibilității binare în proiecte pe termen lung. API Design for C++ se distinge printr-o abordare extrem de pragmatică, fiind singura resursă care tratează unitar strategii precum versionarea, scripting-ul și extensibilitatea prin plug-in-uri, dincolo de simpla scriere a codului.

Structura volumului reflectă o progresie logică, de la definirea calităților unui API — cum ar fi cuplarea slabă și caracterul minim complet — până la detalii tehnice avansate de utilizare a limbajului C++. Analizând cuprinsul, observăm o acoperire exhaustivă a stilurilor de programare: de la API-uri procedurale tip C, până la cele moderne, bazate pe template-uri sau structuri de date. Cititorul care a aplicat deja principiile de arhitectură din C++ Software Design sau a explorat bunele practici din Hands-On Design Patterns with C++ va găsi aici piesele lipsă ale puzzle-ului: modul concret în care aceste tipare sunt expuse către utilizatorii externi într-un mod robust și intuitiv.

Recomandăm această lucrare pentru rigoarea cu care tratează aspectele adesea ignorate, precum gestionarea const-correctness-ului în interfețe și strategiile de depreciere (deprecation) a funcțiilor vechi. Cartea nu se rezumă la teorie, ci oferă peste 50 de ilustrații și numeroase exemple de cod care pot fi experimentate direct, facilitând tranziția de la un programator care scrie cod funcțional la un arhitect capabil să livreze biblioteci software profesionale.

Citește tot Restrânge

Carte tipărită la comandă

Livrare economică 09-23 iunie
Livrare express 09-15 mai pentru 14315 lei


Specificații

ISBN-13: 9780123850034
ISBN-10: 0123850037
Pagini: 472
Ilustrații:

52 illustrations


Dimensiuni: 191 x 235 x 30 mm
Greutate: 0.96 kg
Editura: Elsevier

Public țintă

All software engineers developing C++ code to be used by other developers, whether via APIs, libraries, device drivers, or other reusable components.

De ce să citești această carte

Recomandăm această carte inginerilor software și arhitecților care doresc să stăpânească arta de a scrie cod reutilizabil. Cititorul câștigă o înțelegere profundă a modului în care se construiesc interfețe care rezistă în timp, reducând costurile de mentenanță. Este un ghid esențial pentru oricine dezvoltă biblioteci, drivere sau componente software partajate în ecosistemul C++, oferind soluții concrete pentru provocări tehnice complexe.


Despre autor

Martin Reddy este un inginer software specializat în grafică la Pixar Animation Studios, unde se ocupă de tehnici de optimizare a performanței. Anterior, a lucrat la SRI International în domeniul vizualizării terenurilor la scară mare prin rețele de arie largă. Deține un doctorat în informatică, cercetarea sa vizând aplicarea modelelor de percepție vizuală în sistemele grafice în timp real. Experiența sa vastă în proiecte colaborative de mare complexitate este fundamentul tehnic pe care a fost construit manualul de față.


Descriere scurtă

API Design for C++ provides a comprehensive discussion of Application Programming Interface (API) development, from initial design through implementation, testing, documentation, release, versioning, maintenance, and deprecation. It is the only book that teaches the strategies of C++ API development, including interface design, versioning, scripting, and plug-in extensibility. Drawing from the author's experience on large scale, collaborative software projects, the text offers practical techniques of API design that produce robust code for the long term. It presents patterns and practices that provide real value to individual developers as well as organizations. API Design for C++ explores often overlooked issues, both technical and non-technical, contributing to successful design decisions that product high quality, robust, and long-lived APIs. It focuses on various API styles and patterns that will allow you to produce elegant and durable libraries. A discussion on testing strategies concentrates on automated API testing techniques rather than attempting to include end-user application testing techniques such as GUI testing, system testing, or manual testing. Each concept is illustrated with extensive C++ code examples, and fully functional examples and working source code for experimentation are available online. This book will be helpful to new programmers who understand the fundamentals of C++ and who want to advance their design skills, as well as to senior engineers and software architects seeking to gain new expertise to complement their existing talents. Three specific groups of readers are targeted: practicing software engineers and architects, technical managers, and students and educators.

  • The only book that teaches the strategies of C++ API development, including design, versioning, documentation, testing, scripting, and extensibility
  • Extensive code examples illustrate each concept, with fully functional examples and working source code for experimentation available online
  • Covers various API styles and patterns with a focus on practical and efficient designs for large-scale long-term projects

Cuprins

Introduction 1. Qualities 2. Patterns 3. Design 4. Styles 5. C++ Usage 6. Performance 7. Versioning 8. Documentation 9. Testing 10. Scripting 11. Extensibility Appendix A: Libraries Bibliography Index

Recenzii

"Martin Reddy draws from his experience on large scale, collaborative software projects to present patterns and practices that provide real value to individual developers as well as organizations. API Design for C++ explores often overlooked issues, both technical and non- technical, contributing to successful design decisions that produce high quality, robust, and long-lived APIs." --Eric Gregory, Software Architect, Pixar Animation Studios"Intended for programmers with intermediate to advanced skills in the C++ programming language, this guide to the building of useful and robust application programming interfaces (APIs) provides practical instruction for software engineers developing systems on which downstream software engineers depend. The work provides a methodical approach to API design covering solution based API design, performance, versioning, documentation, testing, scripting, extensibility and libraries. The work includes numerous illustrations and code examples and access to additional online resources is provided. Reddy is a software development consultant." --Book News, Reference & Research