温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python如何实现抽象工厂模式

发布时间:2022-01-13 16:31:06 来源:亿速云 阅读:239 作者:iii 栏目:大数据

这篇文章主要介绍“Python如何实现抽象工厂模式”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python如何实现抽象工厂模式”文章能帮助大家解决问题。

实 现

下面是实现Abstract Factor模式的一些有用技术:
1) 将工厂作为单件 一个应用中一般每个产品系列只需一个ConcreteFactory的实例。因此工厂通常最好实现为一个Singleton(3.5)。

只有一句话,但是并没有给出实现。为了说明这个问题,作者按照自己的理解,以前面提到的操作系统主题的例子为背景提供一个实现。

类图:

Python如何实现抽象工厂模式

有关Singleton设计模式的内容会在后续文章中详细介绍,这里先大概提一下。

ThemeFactory中首先将构造函数和析构函数设成保护的,这样用户就没有办法直接构建和销毁工厂对象。用户构建和销毁对象可以使用另外提供的两个公开的静态方法:getInstance和deleteInstance。Sington模式就是通过这种方式保证同一时刻只有一个对象存在的。

生成产品的createWindow和createScrobar两个接口,大家应该已经很熟悉了。

头文件

Python如何实现抽象工厂模式

首先观察include语句部分,为了控制具象类的创建和销毁,抽象类的实现包含了3个具象类的头文件。一般来讲这种感觉不怎么好。这个问题可以解决,但是会比较繁琐。这里就不再深入讨论了。

接下来是两个静态变量:instance用来保存ThemeFactory唯一的具象类实例;system_theme用来保存系统的设定值。由于这是个演示程序,所以用这么一个变量来控制程序的运行。

Python如何实现抽象工厂模式

其余的代码就更加简单,这里不再说明。

利用者代码

首先请注意,这里只包含了抽象类的头文件。并且由于抽象类的头文件中也没有包含具象类的头文件,所以具象类对利用者完全不可见。当系统的主题发生变化时,自动实现了具象工厂类的切换。

执行结果

Python如何实现抽象工厂模式

注意观察工厂的切换动作。

关于“Python如何实现抽象工厂模式”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI