简单工厂模式(请先看下面一篇)

//接口

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/

原文地址:https://www.cnblogs.com/sontin/p/1929812.html