Non-virtual interface pattern
Appearance
The non-virtual interface pattern (NVI) design pattern that controls how methods in a base class are overridden, which include public, non-virtual members that may be called by clients, and overridable methods with core functionality.[1] It is a pattern that is strongly related to the template method pattern. The NVI pattern recognizes the benefits of a non-abstract method invoking the subordinate abstract methods. This level of indirection allows for pre and post operations relative to the abstract operations both immediately and with future unforeseen changes. The NVI pattern can be deployed with very little software production and runtime cost. Many commercial software frameworks employ the NVI pattern.
References
- ^ Carr, Richard (2011-09-03). "Non-Virtual Interface Design Pattern". BlackWasp. Archived from the original on 2011-09-03. Retrieved 2012-09-12.
The non-virtual interface pattern is a design pattern that controls how methods in a base class are overridden. Base classes include public, non-virtual members that may be called by clients and a set of overridable methods containing core functionality.
{{cite web}}
: Check|authorlink1=
value (help); External link in
(help)|authorlink1=