//接口
public interface IPersion
{
void action();
}
//男人类
public class Man:IPersion
{
public void action()
{
Console.Writeline("抽烟");
}
}
//女人类
public class Woman:IPersion
{
public void action()
{
Console.Writeline("化妆");
}
}
//工厂方法类
public class PersionFactory
{
//这里的逻辑处理可以改为
//将这个工厂方法类设为抽象类
//另外用一个Man和WoMan工厂类续承些类
//这样可以相对应new了
//即封装变化点
public IPersion Factory(int i)
{
if(i == 1)
{
return new Woman().action();
}
else
{
return new Man().action();
}
}
}
//应用层
public class Application
{
private void Man
{
new PersionFactory().Factory(10);
}
private void Woman
{
new PersionFactory().Factory(1);
}
}
来源:http://blog.163.com/jsj_wyf@126/blog/static/41822320200811201108134/