Prev | Next | π
Navigation
Large-Scale Physical C++ Design
Why "Large-Scale"?
Introduction
Quality Ensurance 1
,
2
Maintainability 1
,
2
Reuse 1
,
2
Physical Design Basics
Components
Notation 1
,
2
,
3
Notation Example 1
,
2
Levelized Component Diagrams 1
,
2
Tools
Analyzing Dependencies
Measuring the Degree of Coupling 1
,
2
ACD
NCCD
The Purpose of CCD, ACD, and NCCD 1
,
2
Testability and Testing 1
,
2
,
3
White-Box Testing
Black-Box Testing
Summary
Coding Guidelines Revisited
Encapsulation
Global Namespace
Global Variables 1
,
2
Free Functions 1
,
2
Enums, Constants, Typedefs
Macros 1
,
2
External Include Guards
Friendship 1
,
2
Summary 1
,
2
Levelization Techniques
Escalation
Cycle Classic #1
Dependency Graph 1
,
2
Solution 1
,
2
Cycle Classic #2
Solution 1
,
2
Demotion
Example
Solution
Demotion without Cycles 1
,
2
Generalized Repackaging
Opaque Pointers 1
,
2
Solution 1
,
2
Redundancy
Cycle Classic #3
Example (Bad) Implementation 1
,
2
,
3
Problems
Technique 1 -- Manager Class
Technique 2 -- Factoring
Levelization Summary
Introduction to Insulation 1
Why to Insulate 1
,
2
Non-Insulating Constructs 1
,
2
Example: Private Inheritance
Insulation Techniques 1
,
2
Considerations
Insulation Summary
Summary
Further Reading
open folder
(local only)
back to articles