设计模式--模版方法

it2024-11-20  5

定义:

在一个方法中定义了一个算法的骨架,而将一些步骤延迟到子类中.

模版方法可以使子类在不改变算法结构的情况下,重新定义算法中的某些步骤.

关键词:

Template

结构图:

应用场景:

当不变的行为和可变的行为在方法的子类实现中混合在一起的时候,不变的行为就会在子类中重复出现.我们通过模版方法模式把这些行为搬到单一的地方,这样就可以帮助子类摆脱重复的不变的行为.

例子:

类图:

代码: public abstract class Shopping { public Shopping() { // //TODO: 在此处添加构造函数逻辑 // } public void Buy() { GOTOShop(); BuySome(); GOBackHome(); } protected void GOTOShop() { HttpContext.Current.Response.Write("去商店<br/>"); } protected abstract void BuySome(); protected void GOBackHome() { HttpContext.Current.Response.Write("回家<hr/>"); } } public class BuyWindow : Shopping { protected override void BuySome() { HttpContext.Current.Response.Write("买窗户<br/>"); } } public class BuyDoor : Shopping { protected override void BuySome() { HttpContext.Current.Response.Write("买门<br/>"); } }   页面调用: protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Shopping sp1 = new BuyWindow(); sp1.Buy(); Shopping sp2 = new BuyDoor(); sp2.Buy(); } }   效果:

转载于:https://www.cnblogs.com/oneword/archive/2009/06/29/1513370.html

相关资源:设计模式-模板方法模式(讲解及其实现代码)
最新回复(0)