John Lakos
Large-Scale C++ Software Design
Paperback Engels 1996 1e druk 9780201633627Levertijd ongeveer 9 werkdagen
Gratis verzonden
Specificaties
ISBN13:9780201633627
Taal:Engels
Bindwijze:Paperback
Aantal pagina's:896
Uitgever:Pearson Education
Druk:1
Hoofdrubriek:Projectmanagement, Computer en informatica, Projectmanagement
Lezersrecensies
Wees de eerste die een lezersrecensie schrijft!
Inhoudsopgave
Preface.
0. Introduction.
From C to C++.
Using C++ to Develop Large Projects.
Reuse.
Quality.
Software Development Tools.
Summary.
I. BASICS. 1. Preliminaries.
Multi-File C++ Programs.
typedef Declarations.
Assert Statements.
A Few Matters of Style.
Iterators.
Logical Design Notation.
Inheritance versus Layering.
Minimality.
Summary.
2. Ground Rules.
Overview.
Member Data Access.
The Global Name Space.
Include Guards.
Redundant Include Guards.
Documentation.
Identifier-Naming Conventions.
Summary.
II. PHYSICAL DESIGN CONCEPTS. 3. Components.
Components versus Classes.
Physical Design Rules.
The DependsOn Relation.
Implied Dependency.
Extracting Actual Dependencies.
Friendship.
Summary.
4. Physical Hierarchy.
A Metaphor for Software Testing.
A Complex Subsystem.
The Difficulty in Testing “Good” Interfaces.
Design for Testability.
Testing in Isolation.
Acyclic Physical Dependencies.
Level Numbers.
Hierarchical and Incremental Testing.
Testing a Complex Subsystem.
Testing versus Tested.
Cyclic Physical Dependencies.
Cumulative Component Dependency (CCD).
Physical Design Quality.
Summary.
5. Levelization.
Some Causes of Cyclic Physical Dependencies.
Escalation.
Demotion.
Opaque Pointers.
Dumb Data.
Redundancy.
Callbacks.
Manager Class.
Factoring.
Escalating Encapsulation.
Summary.
6. Insulation.
From Encapsulation to Insulation.
C++ Constructs and Compile-Time Coupling.
Partial Insulation Techniques.
Total Insulation Techniques.
The Procedural Interface.
To Insulate or Not to Insulate.
Summary.
7. Packages.
From Components to Packages.
Registered Package Prefixes.
Package Levelization.
Package Insulation.
Package Groups.
The Release Process.
The main Program.
Start-Up Time.
Summary.
III. LOGICAL DESIGN ISSUES. 8. Architecting a Component.
Abstractions and Components.
Component Interface Design.
Degrees of Encapsulation.
Auxiliary Implementation Classes.
Summary.
9. Designing a Function.
Function Specification.
Fundamental Types Used in the Interface.
Special Case Functions.
Summary.
10. Implementing an Object.
Member Data.
Function Definitions.
Memory Management.
Using C++ Templates in Large Projects.
Summary.
Appendix A. Protocol Hierarchy.
Appendix B. Implementing an ANSI C-Compatible C++ Interface.
Appendix C. A Dependency Extractor/Analyzer Package.
Appendix D. Quick Reference.
Index. 0201633620T04062001
0. Introduction.
From C to C++.
Using C++ to Develop Large Projects.
Reuse.
Quality.
Software Development Tools.
Summary.
I. BASICS. 1. Preliminaries.
Multi-File C++ Programs.
typedef Declarations.
Assert Statements.
A Few Matters of Style.
Iterators.
Logical Design Notation.
Inheritance versus Layering.
Minimality.
Summary.
2. Ground Rules.
Overview.
Member Data Access.
The Global Name Space.
Include Guards.
Redundant Include Guards.
Documentation.
Identifier-Naming Conventions.
Summary.
II. PHYSICAL DESIGN CONCEPTS. 3. Components.
Components versus Classes.
Physical Design Rules.
The DependsOn Relation.
Implied Dependency.
Extracting Actual Dependencies.
Friendship.
Summary.
4. Physical Hierarchy.
A Metaphor for Software Testing.
A Complex Subsystem.
The Difficulty in Testing “Good” Interfaces.
Design for Testability.
Testing in Isolation.
Acyclic Physical Dependencies.
Level Numbers.
Hierarchical and Incremental Testing.
Testing a Complex Subsystem.
Testing versus Tested.
Cyclic Physical Dependencies.
Cumulative Component Dependency (CCD).
Physical Design Quality.
Summary.
5. Levelization.
Some Causes of Cyclic Physical Dependencies.
Escalation.
Demotion.
Opaque Pointers.
Dumb Data.
Redundancy.
Callbacks.
Manager Class.
Factoring.
Escalating Encapsulation.
Summary.
6. Insulation.
From Encapsulation to Insulation.
C++ Constructs and Compile-Time Coupling.
Partial Insulation Techniques.
Total Insulation Techniques.
The Procedural Interface.
To Insulate or Not to Insulate.
Summary.
7. Packages.
From Components to Packages.
Registered Package Prefixes.
Package Levelization.
Package Insulation.
Package Groups.
The Release Process.
The main Program.
Start-Up Time.
Summary.
III. LOGICAL DESIGN ISSUES. 8. Architecting a Component.
Abstractions and Components.
Component Interface Design.
Degrees of Encapsulation.
Auxiliary Implementation Classes.
Summary.
9. Designing a Function.
Function Specification.
Fundamental Types Used in the Interface.
Special Case Functions.
Summary.
10. Implementing an Object.
Member Data.
Function Definitions.
Memory Management.
Using C++ Templates in Large Projects.
Summary.
Appendix A. Protocol Hierarchy.
Appendix B. Implementing an ANSI C-Compatible C++ Interface.
Appendix C. A Dependency Extractor/Analyzer Package.
Appendix D. Quick Reference.
Index. 0201633620T04062001
Rubrieken
- advisering
- algemeen management
- coaching en trainen
- communicatie en media
- economie
- financieel management
- inkoop en logistiek
- internet en social media
- it-management / ict
- juridisch
- leiderschap
- marketing
- mens en maatschappij
- non-profit
- ondernemen
- organisatiekunde
- personal finance
- personeelsmanagement
- persoonlijke effectiviteit
- projectmanagement
- psychologie
- reclame en verkoop
- strategisch management
- verandermanagement
- werk en loopbaan
