📄 templatestructural.cs
字号:
using System;
using System.Windows.Forms;
using System.Text;
namespace DesignPattern.TemplateStructural
{
class TemplateStructural : AbstractPattern
{
public static void Run(TextBox tbInfo)
{
s_tbInfo = tbInfo;
s_tbInfo.Text = "";
AbstractClass c;
c = new ConcreteClassA();
c.TemplateMethod();
c = new ConcreteClassB();
c.TemplateMethod();
// Wait for user
//Console.Read();
}
}
// "AbstractClass"
abstract class AbstractClass
{
public abstract void PrimitiveOperation1();
public abstract void PrimitiveOperation2();
// The "Template method"
public void TemplateMethod()
{
PrimitiveOperation1();
PrimitiveOperation2();
DesignPattern.FormMain.OutputInfo("");
}
}
// "ConcreteClass"
class ConcreteClassA : AbstractClass
{
public override void PrimitiveOperation1()
{
DesignPattern.FormMain.OutputInfo("ConcreteClassA.PrimitiveOperation1()");
}
public override void PrimitiveOperation2()
{
DesignPattern.FormMain.OutputInfo("ConcreteClassA.PrimitiveOperation2()");
}
}
class ConcreteClassB : AbstractClass
{
public override void PrimitiveOperation1()
{
DesignPattern.FormMain.OutputInfo("ConcreteClassB.PrimitiveOperation1()");
}
public override void PrimitiveOperation2()
{
DesignPattern.FormMain.OutputInfo("ConcreteClassB.PrimitiveOperation2()");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -