工厂模式new问题

常见new的创建方法:
   Road  road=new Road();
这样带来的问题是:实现依赖,不能应对"具体的实例化类型"的变化.
解决思路:封装变化点,那里变化了,就封装那里,没有变化就不需要封装.
变化点在"对象创建",因此就封装对象创建.
要面向接口编程,依赖于接口,并非依赖于实现.最简单的解决方法:
静态工厂模式
class RoadFactory
{
     public static Road CreateRoad()
    {    
          return new Road();//可以在此可以根据需求修改  return new waterRoad();
    }



创建一个Road对象,Road  road=RoadFactory.CreateRoad();//客户程序, 这里相对稳定.

转载于:https://www.cnblogs.com/meiproject/archive/2007/10/05/914498.html

你可能感兴趣的:(工厂模式new问题)