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

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

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

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

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

  • 相关阅读:
    ffmpeg视频操作记录
    frida定义线程写图片文件
    frida创建静态域
    frida创建字符串
    pyppeteer_stealth
    python ast
    最小的js编译器
    excel加双引号和逗号
    JUnit 单元测试方法中启用子线程的问题
    ctrip 开源 DAL 框架相关问题总结
  • 原文地址:https://www.cnblogs.com/ggzwtj/p/2226739.html
Copyright © 2011-2022 走看看