Non-virtual interface design pattern in C#/C++
The essence of the non-virtual interface pattern is that you have private virtual functions, which are called by public non-virtual functions (the non-virtual interface). The advantage of this is that the base class has more control over its behaviour than it would if derived classes were able to override any part of its interface. In … Read more