Advanced Levelization Techniques (part 2 of 3)
summary
Shows concrete fixes for header cycles and coupling with code patterns and examples and reference implementations on GitHub. Covers demotion (pulling shared data into a lower component), opaque pointers and the dumb data id-based approach that turns pointers into indices, callbacks (data/function/functor/protocol) and a template concept trick to avoid virtual-call overhead, manager classes and factoring for testability, guidance on when to duplicate tiny utilities, and a legal but ugly reinterpret_cast wrapper trick to expose internal objects across package boundaries.
AI-written summary · about
chapters (25)
- 0:00Common Event Info
- 3:07opaque pointers
- 8:35opaque pointer
- 11:35dumbdata
- 13:35template parameters
- 15:34redundancy
- 16:21surgical redundancy
- 21:40enum
- 23:15callbacks
- 26:15callback function
- 29:33blackjack
- 35:02callback as a set
- 35:51char buff and byte stream
- 37:02virtual functions
- 38:18stream concept
- 41:58manager class
- 43:52graph
- 45:09widget
- 46:49date
- 47:41network machine
- 51:19spheres of encapsulation
- 54:57single component wrapper
- 55:45multi component wrapper
- 57:07hiding header files
- 57:36cloning
related talks
58mA Practical Guide to Loose Coupling
01h 01mMaintainability and Refactoring Impact of Higher-Level Design Features
01h 28mModern C++ Design reloaded
01h 05mAbstraction Patterns: Making Code Reliably Better Without Deep Understanding
01h 28mLaw of Demeter: A Practical Guide to Loose Coupling
01h 07mDesign Patterns in Modern C++
55mBreaking Dependencies: Type Erasure - The Implementation Details
01h 31mWhen Abstractions Fix Too Much - Towards Flexible Library Design
