C Interfaces and Implementations: Techniques for Creating Reusable Software (Addison-Wesley Professional Computing Series)
معرفی کتاب «C Interfaces and Implementations: Techniques for Creating Reusable Software (Addison-Wesley Professional Computing Series)» نوشتهٔ Michael McDowell، Carles Andreu و David R. Hanson، منتشرشده توسط نشر Addison-Wesley Professional در سال 1996. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.
Every programmer and software project manager must master the art of creating reusable software modules; they are the building blocks of large, reliable applications. Unlike some modern object-oriented languages, C provides little linguistic support or motivation for creating reusable application programming interfaces (APIs). While most C programmers use APIs and the libraries that implement them in almost every application they write, relatively few programmers create and disseminate new, widely applicable APIs. C Interfaces and Implementations shows how to create reusable APIs using interface-based design, a language-independent methodology that separates interfaces from their implementations. This methodology is explained by example. The author describes in detail 24 interfaces and their implementations, providing the reader with a thorough understanding of this design approach. Features of C Interfaces and Implementations : Concise interface descriptions that comprise a reference manual for programmers interested in using the interfaces. A guided tour of the code that implements each chapter's interface tp help those modifying or extending an interface or designing related interfaces. In-depth focus on "algorithm engineering:" how to package data structures and related algorithms into reusable modules. Source code for 24 APIs and 8 sample applications is examined, with each presented as a "literate program" in which a thorough explanation is interleaved with the source code. Rarely documented C programming tricks-of-the-trade. Convenient access to all source code in the book via the World Wide Web at http://www.cs.princeton.edu/software/cii/ 0201498413B04062001 Copyright 5 Addison-Wesley Professional Computing Series 5 Preface 8 Acknowledgments 14 Introduction 16 Literate Programs 17 Programming Style 23 Efficiency 26 Further Reading 27 Exercises 28 Interfaces and Implementations 30 Interfaces 30 Implementations 33 Abstract Data Types 36 Client Responsibilities 39 Efficiency 45 Further Reading 45 Exercises 46 Atoms 48 Interface 48 Implementation 49 Further Reading 57 Exercises 57 Exceptions and Assertions 60 Interface 62 Implementation 68 Assertions 74 Further Reading 78 Exercises 79 Memory Management 82 Interface 84 Production Implementation 88 Checking Implementation 91 Further Reading 100 Exercises 101 More Memory Management 104 Interface 105 Implementation 107 Further Reading 113 Exercises 115 Lists 118 Interface 118 Implementation 123 Further Reading 128 Exercises 129 Tables 130 Interface 130 Example: Word Frequencies 133 Implementation 140 Further Reading 147 Exercises 148 Sets 152 Interface 153 Example: Cross-Reference Listings 155 Implementation 163 Further Reading 173 Exercises 173 Dynamic Arrays 176 Interfaces 177 Implementation 180 Further Reading 184 Exercises 184 Sequences 186 Interface 186 Implementation 189 Further Reading 195 Exercises 195 Rings 198 Interface 198 Implementation 202 Further Reading 211 Exercises 212 Bit Vectors 214 Interface 214 Implementation 217 Further Reading 228 Exercises 228 Formatting 230 Interface 231 Implementation 239 Further Reading 253 Exercises 254 Low-Level Strings 256 Interface 258 Example: Printing Identifiers 264 Implementation 266 Further Reading 279 Exercises 280 High-Level Strings 284 Interface 284 Implementation 291 Further Reading 308 Exercises 309 Extended-Precision Arithmetic 312 Interface 312 Implementation 318 Further Reading 336 Exercises 337 Arbitrary-Precision Arithmetic 338 Interface 338 Example: A Calculator 342 Implementation 349 Further Reading 368 Exercises 369 Multiple-Precision Arithmetic 372 Interface 373 Example: Another Calculator 380 Implementation 388 Further Reading 417 Exercises 417 Threads 420 Interfaces 423 Examples 433 Implementations 446 Further Reading 478 Exercises 480 Interface Summary 484 AP 485 Arena 486 Arith 487 Array 487 ArrayRep 488 Assert 489 Atom 489 Bit 489 Chan 491 Except 491 Fmt 492 List 493 Mem 494 MP 495 Ring 498 Sem 499 Seq 500 Set 501 Stack 502 Str 502 Table 505 Text 506 Thread 508 XP 509 Bibliography 512 519 Index 519 C Interfaces and Implementations: Techniques for Creating Reusable Software Shows how to create reusable APIs using interface-based design, a language-independent methodology that separates interfaces from their implementations. This book describes in detail 24 interfaces and their implementations, providing the reader with an understanding of this design approach.
دانلود کتاب C Interfaces and Implementations: Techniques for Creating Reusable Software (Addison-Wesley Professional Computing Series)