首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
设计模式
订阅
zengweii
更多收藏集
微信扫码分享
微信
新浪微博
QQ
7篇文章 · 0订阅
python 设计模式-适配器模式
所以,面对一个有全新接口的类库而又不能改变现有代码时,最先想到的做法是,在这两个系统之间添加一个适配器。 因为现在没有鸭子对象,只能那火鸡对象冒充。由于鸭子对象和火鸡对象功能不同,不能直接拿来用,现在就需要使用适配器来完成这个功能: 接下来调用就可以像使用鸭子对象一样使用火鸡适…
Python 设计模式-命令模式
观察厂商提供的类,你会发现,好多类提供了 on()、off() 方法,除此之外,还有一些方法像 dim()、setTemperature()、setVolumn()、setDirection()。由此我们可以想象,之后还会有更多的厂商类,每个类还会有各式各样的方法。 并且更严重…
python设计模式-单例模式
从代码可以看出,他们加入了多种判断,以防止不好的事情发生。如果同时存在两个ChocolateBoiler实例,那这么多判断岂不是失去作用了。那我们改如何实现这个需求呢?这个问题的核心是,我们要先判断实例是不是已经存在,如果存在就不再创建。 现在我们需要获取 ChocolateB…
Python设计模式-观察者模式
此系统必须可扩展已适应其他格式化方式的使用。 但是这样会有一个问题:这种针对实现的编程会导致我们在增加或者删除需要格式化方式时必须修改代码。比如我们现在不再需要十六进制数字格式的显示,就需要把 hex_formatter 相关的代码删除或者注释掉。 要解决这个问题,就可以用到我…
python设计模式-工厂方法模式
现在你发现了一个问题, order_pizza() 是在内部实例化了具体的 Pizza 类,并且,order_pizza() 也没有对修改关闭,以至于每次有了新的 pizza 加入都要修改 order_pizza() 的代码。这时一个比较好的办法是把创建 Pizza 对象是抽象…
python设计模式-建造者模式
Pizza 的制作流程包括:准备(擀面皮、加佐料),然后烘烤、切片、装盒。这些有特定的顺序,不能错乱。 为了保证 生产 Pizza 的步骤不会出错,我们打算指派一个创建者,创建者用于控制 Pizza 的制作流程。 Builder:抽象建造者(Builder)(引入抽象建造者的目…
python设计模式-抽象工厂模式
为了确保每家加盟店都是用高质量的原材料,我们打算建造一加原材料工厂,并将原材料运送到各个加盟店。每个加盟店会对原材料有不同的需求,这里我们就可以用上上一篇介绍的工厂方法模式了。 在区域的原料工厂中实现原料的创建方法。 将原料工厂组合起来,加入到 PizzaStore(上一篇中由…