using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 外观模式
{
public class PM毛坯操作
{
public void 盒子毛坯()
{
Console.WriteLine("毛坯和选中面的大小相同");
}
public void 毛坯扩展(string x = "0.0" ,string y = "0.0" ,string z = "0.0")
{
Console.WriteLine("通过选中的面,在X方向上偏置{0},Y方向上偏置{1},Z方向上偏置{2}",x,y,z);
}
}
public class PM连接路径
{
public void 粗加工连接路径()
{
Console.WriteLine("粗加工连接路径");
}
public void 等高加工连接路径()
{
Console.WriteLine("等高加工连接路径");
}
public void 平行加工连接路径()
{
Console.WriteLine("平行加工连接路径");
}
public void 平面加工连接路径()
{
Console.WriteLine("平面加工连接路径");
}
}
public class PM策略加工
{
public void 粗加工路径()
{
Console.WriteLine("粗加工路径");
}
public void 等高加工路径()
{
Console.WriteLine("等高加工路径");
}
public void 平行精加工路径()
{
Console.WriteLine("平行精加工路径");
}
public void 平面加工路径()
{
Console.WriteLine("平面加工路径");
}
}
public class PM加工模板
{
PM毛坯操作 m;
PM连接路径 l;
PM策略加工 s;
public PM加工模板()
{
m = new PM毛坯操作();
l = new PM连接路径();
s = new PM策略加工();
}
public void 方法1()
{
m.盒子毛坯();
s.粗加工路径();
l.粗加工连接路径();
}
public void 方法2()
{
m.毛坯扩展("3.5");
s.等高加工路径();
l.等高加工连接路径();
}
public void 方法3()
{
m.毛坯扩展("0.5");
s.平面加工路径();
l.平面加工连接路径();
}
}
}