简介:
模板模式的意图定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
Application应用程序会有自己的声明周期,例如值的存储在作用域结束后得释放是有固定顺序的。还有GC的垃圾回收机制。
介绍:
优点 | 1.封装不变部分,扩展可变部分。 2.模板稳定。 |
缺点 | 1.每一个不同的实现,都需新增类。 |
特点 | 1.逻辑流程稳定。 |
抽象类角色(AbstractClass) | 稳定流程的接口。 |
具体类角色(ConcreteClass) | 实现接口。 |
使用:
//AbstractClass
public abstract class Quadrangle
{
public abstract void DrawLine1();
public abstract void DrawLine2();
public abstract void DrawLine3();
public abstract void DrawLine4();
public void Draw()
{
DrawLine1();
DrawLine2();
DrawLine3();
DrawLine4();
}
}
//ConcreteClass
public sealed class Square : Quadrangle
{
public override void DrawLine1()
{
//do something
}
public override void DrawLine2()
{
//do something
}
public override void DrawLine3()
{
//do something
}
public override void DrawLine4()
{
//do something
}
}
//模板模式调用
Quadrangle square = new Square();
square.Draw();