设计模式——工厂模式

工厂模式:屏蔽细节,降低耦合性

普通创建对象

                //new 关键字其实是创建对象的细节
                IRace human = new Human(); //2.面向抽象了
                human.ShowKing();

如果构造函数变了,对应创建的地方必须相应改变,直接依赖于对象

简单工厂:

          /// <summary>
    /// 简单工厂 
    /// </summary>
    public class ObjectFactory
    {
      public static IRace CreateInstance()
        {
            return new Human();
        }
  }

代工生成对象,对象怎么创建工厂,最上端的不用知道

深度扩展:比如你最开始使用的数据库是sqlserver后面换成mysql。就可以利用工厂模式:反射+配置文件,动态生产底层对象,而上乘对象的调用不会受到影响

 

工厂方法模式:可以动态创建

          //支持了工厂的扩展!
                //不同类型的创建,可以通过工厂的扩展===增加工厂来完成
                //1.创建Human---HumanFactory
                IFactory factory = new HumanFactory();//包一层
                IRace race = factory.CreateRace();

 

posted @ 2022-07-04 23:03  乌柒柒  阅读(18)  评论(0编辑  收藏  举报