zoukankan      html  css  js  c++  java
  • 设计模式之Factory

      工厂模式就是专门负责实例化大量相同接口的类。简单的工厂模式用《head first》中的例子就要生产不同的比萨,只需要告诉工厂你要什么样的比萨,它就会给你生产出来。这样的代码如下:

      想一下简单的工厂模式为我们做了什么?相当于把生成对象的这个功能分离出去,也就是解耦让代码变得简单。这样做还有一个好处就是,在别人调用这个工厂的时候,不仅能简单地返回一个对象,还可以完成一些想要的操作。把这些操作放在这里就可以强制、统一地进行了。

      这样做的初衷是想让代码尽量地简单,但是现在情况可能并不怎么好,因为在一个比萨工厂中要考虑所有的情况,而且在有所改变的时候又需要修改代码。这样本金功能简单的工厂类中的代码也开始变得复杂。其实这个解决方法很简单,对工厂也做一次抽象就好了:

      到这里,我们解耦已经很彻底了,但是马上就会发现新的问题?如果甜的、辣的各种比萨都有一个特定的类去实现,那比萨的数量是相当庞大的,所以工厂模式中的工厂是需要好好设计的,应该可以看做解耦与类数目之间的平衡吧。

  • 相关阅读:
    ACL权限
    rf中setup与teardown
    字符串常用方法
    fiddler模拟弱网测试
    appium自动化webview时遇到的chromedriver问题
    appium 设备信息字典(desired_caps)
    appium 操作界面
    元素定位方法之Uiautomator方法
    jemter csv参数化时注意问题
    windows下binlog问题解决
  • 原文地址:https://www.cnblogs.com/ggzwtj/p/2226739.html
Copyright © 2011-2022 走看看