运行效果
代码
using System;
namespace 创建者模式
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
Client client = new Client();
client.mian();
Console.ReadLine();
}
}
// 抽象层-----------------------------------------
class Director
{
public Tank construct(Ibuider b)
{
Tank product = new Tank();
b.buiderRun(product);
b.buiderSort(product);
return product;
}
}
class Tank
{
public int sort;
public int run;
public void Sort()
{
Console.WriteLine($"sort:{sort}");
}
public void Run()
{
Console.WriteLine($"run:{run}");
}
}
interface Ibuider
{
void buiderSort(Tank product);
void buiderRun(Tank product);
}
class Buider : Ibuider
{
protected Buider(int s,int r)
{
sort = s;
run = r;
}
int sort=0;
int run=0;
public void buiderRun(Tank product)
{
product.sort = sort;
}
public void buiderSort(Tank product)
{
product.run = run;
}
}
// 实装层-----------------------------------------
class B70Buider : Buider
{
public B70Buider() : base(70, 75) { }
}
class B50Buider : Buider
{
public B50Buider() : base(50, 55) { }
}
// 客户端-----------------------------------------
class Client
{
public void mian()
{
Director director = new Director();
Ibuider b50Buider = new B50Buider();
B70Buider b70Buider = new B70Buider();
Tank tank5 = director.construct(b50Buider);
Tank tank7 = director.construct(b70Buider);
tank5.Sort();
tank5.Run();
tank7.Sort();
tank7.Run();
}
}
}