Notes
C++ provides a context for design and expressing design. It offers a number of mechanisms that may be used to express substitutability concepts. Principles provide a mental framework for developers to work within and take advantage of, where Carolyn Morris defines a framework as "a skeleton on which a model of work is built". Many problems have solutions that are structurally similar to each other, with common issues and rationale. This is something that more experienced developers learn to recognise and apply. A pattern captures and communicates this experience in a reusable form. The focus of this section is on introducing principles and exploring patterns, with an eye to supporting substitutability and expressing concepts idiomatically in C++. |