I l@ve RuBoard Previous Section Next Section

Compiler Firewalls and the Pimpl Idiom

Managing dependencies well is an essential part of writing solid code. I've argued (Sutter98) that C++'s greatest strength is that it supports two powerful methods of abstraction: object-oriented programming and generic programming. Both are fundamentally tools to help manage dependencies and, therefore, manage complexity. It's telling that all of the common OO/generic buzzwords梚ncluding encapsulation, polymorphism, and type independence梐nd all the design patterns I know of describe ways to manage complexity within a software system by managing the code's interdependencies.

    I l@ve RuBoard Previous Section Next Section