• 设计模式--工厂类相关模式


    工厂模式、简单工厂模式、抽象工厂模式

    工厂模式的定义如下:定义一个用于创建对象的接口,让子类决定实例化哪个类。工厂方法使一个类的实例化延迟到其子类。其通用类图如下。其产品类定义产品的公共属性和接口,工厂类定义产品实例化的“方式”。
    f1.pngf2.png

    工厂模式的优点和应用

    工厂模式、抽象工厂模式的优点:
    1、工厂模式巨有非常好的封装性,代码结构清晰;在抽象工厂模式中,其结构还可以随着需要进行更深或者更浅的抽象层级调整,非常灵活;
    2、屏蔽产品类,使产品的被使用业务场景和产品的功能细节可以分而开发进行,是比较典型的解耦框架。
    工厂模式、抽象工厂模式的使用场景:
    1、当系统实例要求比较灵活和可扩展时,可以考虑工厂模式或者抽象工厂模式实现。比如,
    在通信系统中,高层通信协议会很多样化,同时,上层协议依赖于下层协议,那么就可以对应建立对应层级的抽象工厂,根据不同的“产品需求”去生产定制的实例。

    四、工厂类模式的不足

    1、工厂模式相对于直接生成实例过程要复杂一些,所以,在小项目中,可以不使用工厂模式;
    2、抽象工厂模式中,产品类的扩展比较麻烦。毕竟,每一个工厂对应每一类产品,产品扩展,就意味着相应的抽象工厂也要扩展。


    工厂类相关模式含义
        工厂方法模式(英语:Factory method pattern)是一种实现了“工厂”概念的面向对象设计模式。就像其他创建型模式一样,它也是处理在不指定对象具体类型的情况下创建对象的问题。工厂方法模式的实质是“定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类。工厂方法让类的实例化推迟到子类中进行。
        创建一个对象常常需要复杂的过程,所以不适合包含在一个复合对象中。创建对象可能会导致大量的重复代码,可能会需要复合对象访问不到的信息,也可能提供不了足够级别的抽象,还可能并不是复合对象概念的一部分。工厂方法模式通过定义一个单独的创建对象的方法来解决这些问题。由子类实现这个方法来创建具体类型的对象。
        对象创建中的有些过程包括决定创建哪个对象、管理对象的生命周期,以及管理特定对象的创建和销毁的概念。



    归类 : Python--设计模式

  • 相关阅读:
    LIS问题:二分+DP
    AndroidBDMap学习05:连续定位地图
    AndroidBDMap学习04:定位配置的设置实现
    AndroidBDMap学习03:定位获取当前地点的信息
    AndroidBDMap学习02:获取用户的相关权限
    AndroidBDMap学习01:基于百度地图SDK的配置以及利用API实现一个简单的地图应用
    数据结构--可迭代红黑树模板类(C++)
    数据结构--大小根堆模板类(C++)
    Apache poi导出的文件损坏解决办法
    deepin图标显示不正常的问题解决
  • 原文地址:https://www.cnblogs.com/lz1996/p/11969073.html
Copyright © 2020-2023  润新知