【发布时间】:2012-08-31 01:04:43
【问题描述】:
我注意到在许多 Microsoft .NET 类中通常存在非抽象/虚拟公共方法,例如
public bool MyAwesomeMethod(object someParameter);
还有一个受保护的抽象/虚拟方法,例如
protected virtual bool OnMyAwesomeMethod(object someParameter);
我最近开始怀疑这是否是一种已知的设计模式,以及这种设计的优点和缺点可能是什么。是否所有关于使基类能够执行类的子类无法阻止的一些逻辑(例如日志记录)?出于某种原因,默认情况下对您知道要在子类中覆盖的方法使用这种排序设计是否不可取?还有其他我没有注意到的注意事项吗?
提前感谢您的帮助。
【问题讨论】:
标签: c# .net design-patterns