zoukankan      html  css  js  c++  java
  • Java设计模式——工厂模式

    一、简单工厂模式
    1)简单工厂模式是属于创建型模式,是工厂模式的一种。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族
    中最简单实用的模式。
    2)简单工厂模式:定义了一个创建对象的类,由这个类来封装实例化对象的行为代码。
    3)在软件开发中,当我们会用到大量的创建某种、某类或者某批对象时,就会使用到工厂模式。

    没有使用工厂模式前——类图如下:

    使用简单工厂——类图如下:

    二、工厂方法模式
    工厂方法模式设计方案:将披萨项目的实例化功能抽象成抽象方法,在不同的口味点餐子类中具体实现。
    工厂方法模式:定义了一个创建对象的抽象方法,由子类决定要实例化的类。工厂方法模式将 对象的实例化推迟到子类。

    类图如下:

     三、抽象工厂模式

    1)抽象工厂模式:定义了一个interface用于创建相关或有依赖关系的对象簇,而无需指明具体的类。
    2)抽象工厂模式可以将简单工厂模式和工厂方法模式进行整合。
    3)从设计层面看,抽象工厂模式就是对简单工厂模式的改进或者称为进一步的抽象 。
    4)将工厂抽象成两层, AbsFactory( 抽象工厂 ) 和具体实现的工厂子类。程序员可以根据创建对象类型使用对应的工厂子类。这样将单个的简单工厂类变成了工厂簇。

    类图如下:

     总结:

    1) 工厂模式的意义:将实例化对象的代码提取出来,放到一个类中统一管理和维护,达到和主项目的依赖关系的解耦。从而提高项目的扩展和维护性。
    2) 三种工厂模式:简单工厂模式、工厂方法模式、抽象工厂模式
    3) 设计模式的“依赖抽象” 原则
    注意:
    ①创建对象实例时,不要直接new类,而是把这个new类的动作放在一个工厂的方法中,并返回。有的书上说,变量不要直接持有具体类的引用。
    ②不要让类继承具体类,而是继承抽象类或者是实现接口。
    ③不要覆盖基类中已经实现的方法。

  • 相关阅读:
    BroadcastReceiver 小结
    Android Manifest.xml 之 Intent-filter
    First Phone Interview
    XDK html development --- Cross Domain Request
    Github Git usage
    为节省内存,动态添加view布局和控件
    相似的概念
    让一个view 获得焦点
    ListView 关于减少耗时方法调用优化
    SearchView 分解设置属性
  • 原文地址:https://www.cnblogs.com/gzhcsu/p/13257855.html
Copyright © 2011-2022 走看看