Summary
In this chapter, we have advanced our objective of becoming more indispensable C++ programmers by furthering our programming skills with another core design pattern. We have explored the pImpl pattern with an initial implementation using native C++ pointers and association and then improved our implementation by using a unique pointer. By examining the implementation, we easily understand how the pImpl pattern reduces compile-time dependencies and can make our code more implementation-dependent.
Making use of core design patterns, such as the pImpl pattern, will help you more easily contribute to reusable, maintainable code that is understood by other programmers familiar with common design patterns. Your software solutions will be based on creative and well-tested design solutions.
We have now completed our final design pattern together, wrapping up a long journey of understanding OOP in C++. You now have a multitude of skills, including a deep understanding of OOP,...