using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TemplateMethodPattern
{
///
/// 组装电脑
///
public abstract class AssembleComputer
{
///
/// 组装主机
///
public abstract void BuildMainFramePart();
///
/// 组装显示器
///
public abstract void BuildScreenPart();
///
/// 组装输入设备(键鼠)
///
public abstract void BuildInputPart();
///
/// 组装起来
///
public void Assemble()
{
BuildMainFramePart();
BuildScreenPart();
BuildInputPart();
}
}
///
/// 组装HP电脑
///
public class AssembleHpComputer : AssembleComputer
{
public override void BuildMainFramePart()
{
Console.WriteLine("组装HP电脑的主板");
}
public override void BuildScreenPart()
{
Console.WriteLine("组装HP电脑的显示器");
}
public override void BuildInputPart()
{
Console.WriteLine("组装HP电脑的键盘鼠标");
}
}
///
/// 组装HP电脑
///
public class AssembleDellComputer : AssembleComputer
{
public override void BuildMainFramePart()
{
Console.WriteLine("组装Dell电脑的主板");
}
public override void BuildScreenPart()
{
Console.WriteLine("组装Dell电脑的显示器");
}
public override void BuildInputPart()
{
Console.WriteLine("组装Dell电脑的键盘鼠标");
}
}
}