program.cs
来自「GOF23种设计模式详细例子!附有详细的代码噢!」· CS 代码 · 共 60 行
CS
60 行
using System;
using System.Collections.Generic;
using System.Text;
namespace TemplateMethodExample
{
class Program
{
static void Main(string[] args)
{
PayGateway pg = new IPSGateway();
pg.SubmitOrder(new Order());
}
}
class Order
{
}
class SubmitForm
{
}
abstract class PayGateway
{
protected abstract void WriteLog(SubmitForm sf);
protected abstract SubmitForm GenerateOrderForm(Order order);
public void SubmitOrder(Order order)
{
if (order == null)
{
Console.WriteLine("Invalid Order");
return;
}
SubmitForm sf = GenerateOrderForm(order);
if (sf == null)
{
Console.WriteLine("Generate Submit Form Failed");
return;
}
WriteLog(sf);
}
}
class IPSGateway : PayGateway
{
protected override void WriteLog(SubmitForm sf)
{
Console.WriteLine("Log Wrote");
}
protected override SubmitForm GenerateOrderForm(Order order)
{
Console.WriteLine("Submit Form Generated");
return new SubmitForm();
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?