由于看的人多,参与讨论的人少,我想可能是我写的过于简略了,所以今天重新编辑了一下。
模版方法的关键是在父类中的非抽象方法中调用抽象方法,子类各自实现自己父类的抽象方法。子类的区别仅仅是实现方法的不同,其自身原来的优势就是可以在有新的具体类的增加时不用修改抽象类,而客户端的调用则只是通过多态来执行抽象类的方法。在.NET中,我们可以采用委托方法实现相同的目的。
我们先来看看一般情况下如何实现模版方法:








































































































标题1内容1
标题2内容2
再来看看用.net的委托来如何实现:

























































好处就是使用时可以动态组装(我认为):




























10
24
这种方法可以说是模版方法的变相使用,但无疑达到了退藕的作用。但它比原来的方法也有它的缺点,就是如果在方法中涉及到对象的状态,这种方法则不太好用了,因为状态需要继承关系去维护,我们在此消灭了继承自然无法维护状态。
另:大家如果对下面的代码输出结果的
10
24
有任何疑惑的地方,建议下载代码后设断点调试一下,那样对整个过程会有比较清晰的了解。