zoukankan      html  css  js  c++  java
  • 简单工厂、工厂方法和抽象工厂

    将这三种模式放到一起,是为了更好的看出模式的演变及其应用的范围。

    设计模式一开张就来讲对象的创建管理。这也是在程序开发中最实用的模式。

    简单工厂是最简单的一种模式,对使用者来说,它就是通过一个工厂类(也有人叫他万能类或者管理类)来获得一个产品接口的具体实现,而无须估计具体的产品实现细节;因此提供者只要保证工厂类和产品接口这两者不变,就能很好的维护客户或者调用代码的。简单工厂使用的范围是工厂类要相对简单,且变化比较缓慢;其缺点是工厂类无法扩展,不满足OCP原则。这应该是他没有被GOF认为是一种模式的原因吧。

    工厂方法是在简单工厂的基础上变化而来,客户不再直接依赖一个一成不变工厂类,而是一个工厂接口,从而是用户及提供者都可以很方便的扩展工厂接口,而且整个代码结构保持不变,解决了简单工厂不满足OCP的问题。

    抽象工厂是在工厂方法的基础上进一步演化而来。从上面的情况来看,简单工厂和工厂方法都是针对单一产品;如果工厂需要生产多个相互关联的产品(可以理解为同一工厂生产的A系列的产品不能同B系列产品混用),这时候就需要用抽象工厂模式了。抽象工厂模式的使用条件是保持产品结构的相对稳定,即它不能很好应对的增加新产品的变化(原生产产品A和产品B,现在要增加产品B)。

     

  • 相关阅读:
    Intellij IDEA 常用快捷键
    @Transient注解----Hiberbate
    tomcat:域名指向项目名
    java实现全排列
    Bean不同配置方式的比较
    Spring MVC:在jsp中引入css
    Spring中Bean的作用域
    第9章 初识HAL固件库
    第8章 自己写库—构建库函数雏形
    第7章 使用寄存器点亮LED灯
  • 原文地址:https://www.cnblogs.com/rockythd/p/3446631.html
Copyright © 2011-2022 走看看