问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

在python中工厂方法或者工厂函数什么的是什么意思,

发布网友 发布时间:2022-04-22 23:46

我来回答

3个回答

热心网友 时间:2022-05-10 08:29

形如print的可以直接调用的函数和方法

热心网友 时间:2022-05-10 09:47

这是劣质翻译的结果...
了解一下“内置数据类型” 和 “类”,就明白了。

热心网友 时间:2022-05-10 13:13

工厂方法(Factory Method)模式又称为虚拟构造器(Virtual Constructor)模式或者多态工厂(Polymorphic Factory)模式,属于类的创建型模式。在工厂方法模式中,父类负责定义创建对象的公共接口,而子类则负责生成具体的对象,这样做的目的是将类的实例化操作延迟到子类中完成,即由子类来决定究竟应该实体化哪一个类。
在简单工厂模式中,一个工厂类处于对产品类进行实例化的中心位置上,它知道每一个产品类的细节,并决定何时哪一个产品类应当被实例化。简单工厂模式的优点是能够使客户端独立于产品的创建过程,并且在系统中引入新产品时无需对客户端进行修改,缺点是当有新产品要加入到系统中时,必须对工厂类进行修改,以加入必要的处理逻辑。简单工厂模式的致命弱点就是处于核心地位的工厂类,因为一旦它无法确定要对哪个类进行实例化时,就无法使用该模式,而工厂方法模式则可以很好地避免这一问题。
考虑这样一个应用程序框架(Framework),它可以用来浏览各种格式的文档,如TXT、DOC、PDF、HTML等,设计时为了让软件的体系结构能够尽可能地通用,定义了Application和Document这两个抽象父类,客户必须通过它们的子类来处理某一具体类型的文档。例如,要想利用该框架来编写一个PDF文件浏览器,必须先定义PDFApplication和PDFDocument这两个类,它们应该分别继承于Application和Document。
Application的职责是对Document进行管理,并且在需要时创建它们,比如当用户从菜单中选择Open或者New的时候,Application就要负责创建一个Document的实例。显而易见,被实例化的特定Document子类是与具体应用相关的,因此Application无法预测哪个Document的子类将被实例化,它只知道一个新的Document何时(When)被创建,但并不知道哪种(Which)具体的Document将被创建。此时若仍坚持使用简单工厂模式会出现一个非常尴尬的局面:框架必须实例化类,但它只知道不能被实例化的抽象类。
解决的办法是使用工厂方法模式,它封装了哪一个Document子类将被创建的信息,并且能够将这些信息从框架中分离出来。如图1所示,Application的子类重新定义了Application的抽象方法createDocument(),并返回某个恰当的Document子类的实例。我们称createDocument()是一个工厂方法(factory method),因为它非常形象地描述了类的实例化过程,即负责"生产"一个对象。

2、工厂函数(factory function)

Python2.2统一了类型和类,所有的内建函数现在都也是类,在这基础上,原来的所谓的内建转换函数像int()、type()、list()等,现在都成了工厂函数。虽然看上去像函数,但实质上它们是类,当你在调用它们时,实际上生成了该类的一个实例,就像工厂生产货物一样。

int()、long()、float()、complex()、str()、unicode()、basestring()、list()、tuple()、type()
dict()、bool()、set()、frozenset()、object()、classmethod()、staticmethod()、super()、property()、file()
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
热喷涂是怎么样加热喷涂材料? 大额存款有什么优惠 过年银行存钱什么优惠 银行大额存款有什么优惠 到银行存钱有什么送 冰柜加了制冷剂不制冷的原因 冰柜用多久需加制冷剂 冰柜何时需加制冷剂 冰柜多久需要加制冷剂 冰柜何时需要添加制冷剂 摩托驾照d和e区别 vivox3的超长截图是什么软件 华为荣耀六手机屏幕失灵怎么办? Python设计模式之抽象工厂模式 华为荣耀手机屏幕失灵怎么办? 华为手机左上角的触摸屏失灵是怎么回事? 华为手机触屏左上部分失灵了怎么办? 华为手机死机点不动点击屏幕没反应怎么办? 华为手机屏幕失灵怎么办? 华为手机屏幕完全失灵了怎么办? 华为手机屏幕失灵了怎么解决? 华为手机触摸屏部分失灵怎么办? 华为手机屏幕失灵没反应怎么办? 华为手机屏幕失灵怎么解决? 门把手上喷了84,痕迹如何去掉? 我的衣服上不小心弄到了84消毒液该怎么办? 怎样去除残留在深蓝色衣服上的84消毒液痕迹? 衣服上染上84消毒液怎样去除? 84消毒液掉衣服上了,怎么清除掉?痕迹 84消毒液弄在衣服上怎么才能洗掉? 84消毒液掉衣服上了,怎么清除掉 地板上的84消毒液痕迹怎么去除? 请问下,python中的工厂函数和内置函数,他们两个到底有什么区别和联系啊... Python软件设计模式是指什么? Python有设计模式么 python什么是设计模式 工厂模式,简单工厂模式,抽象工厂模式三者有什么区别 Python面试基础题十大陷阱,你中招了吗 在编程思路中什么是工厂模式(factory) 清明节的小常识 go语言 python ruby,这三个怎么选择 与清明节相关的知识 python有什么进阶的书 收集清明习俗文化的小常识 清明节传统文化知识有什么? JAVA和python脚本语言哪个难一点 python 爬虫 ip池怎么做 关与清明节的知识? 什么是工厂模式,工厂模式优势是什么,什么时候使用? 清明节小知识272字 Windows10 18363.753和Windows10 1909有什么区别? win10(18363版本)WiFi连接提示:无法连接到这个网络?