Python如何实现BUILDER模式
这篇文章主要介绍“Python如何实现BUILDER模式”,在日常操作中,相信很多人在Python如何实现BUILDER模式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python如何实现BUILDER模式”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
代码示例
使用智能指针消除内存泄漏的同时尽量小地变更原来的代码。
首先是接口:
《设计模式》书中将实现代码也写在同一个文件中,这里将它们分开:
将这个CreateMaze版本与原来的相比,注意生成器是如何隐藏迷宫的内部表示的 — 即定义房间、门和墙壁的那些类 — 以及这些部件是如何组装成最终的迷宫的。有人可能猜测到有一些类是用来表示房间和门的,但没有迹象显示哪个类是用来表示墙壁的。这就使得改变一个迷宫的表示方式要容易一些,因为所有MazeBuilder的客户都不需要被改变。
所谓原来的版本指的是抽象工程中使用的代码:
可以在StandMazeBuilder代码中找到原来代码的影子。
这实际上就是重构。重构之后就可以通过实现其他的具象Builder类来做一些有趣的事情,比如示例中的CountingMazeBuilder可以对操作进行计数等等。
还有一点
需要注意的是,MazeBuilder通过使用房间号识别构建过程中的重要对象而不需要知道对象的类型。这也算是一种抽象。在运用Builder模式的过程中,这种手法在大多数情况下是必须的。
到此,关于“Python如何实现BUILDER模式”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341