温馨提示×

温馨提示×

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

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

Python如何实现BUILDER模式

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

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

代码示例

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

首先是接口:

Python如何实现BUILDER模式

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

Python如何实现BUILDER模式

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

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

Python如何实现BUILDER模式

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

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

还有一点

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

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

向AI问一下细节

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

AI