千家信息网

Python如何实现BUILDER模式

发表于:2024-11-17 作者:千家信息网编辑
千家信息网最后更新 2024年11月17日,这篇文章主要介绍"Python如何实现BUILDER模式",在日常操作中,相信很多人在Python如何实现BUILDER模式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答
千家信息网最后更新 2024年11月17日Python如何实现BUILDER模式

这篇文章主要介绍"Python如何实现BUILDER模式",在日常操作中,相信很多人在Python如何实现BUILDER模式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Python如何实现BUILDER模式"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

代码示例

使用智能指针消除内存泄漏的同时尽量小地变更原来的代码。

首先是接口:

《设计模式》书中将实现代码也写在同一个文件中,这里将它们分开:

将这个CreateMaze版本与原来的相比,注意生成器是如何隐藏迷宫的内部表示的 - 即定义房间、门和墙壁的那些类 - 以及这些部件是如何组装成最终的迷宫的。有人可能猜测到有一些类是用来表示房间和门的,但没有迹象显示哪个类是用来表示墙壁的。这就使得改变一个迷宫的表示方式要容易一些,因为所有MazeBuilder的客户都不需要被改变。

所谓原来的版本指的是抽象工程中使用的代码:

可以在StandMazeBuilder代码中找到原来代码的影子。

这实际上就是重构。重构之后就可以通过实现其他的具象Builder类来做一些有趣的事情,比如示例中的CountingMazeBuilder可以对操作进行计数等等。

还有一点

需要注意的是,MazeBuilder通过使用房间号识别构建过程中的重要对象而不需要知道对象的类型。这也算是一种抽象。在运用Builder模式的过程中,这种手法在大多数情况下是必须的。

到此,关于"Python如何实现BUILDER模式"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

0