一个设计模式的请教
这几天遇到一个BUG引发的联想,起因是一个ORM(peewee)把python内置的logging的配置给覆盖了,正常的东西无法输出,反而是输出大量转化后的原生的SQL语句。而导致这个问题仅仅是引用了一个类(还没初始化,仅仅是引用)。
因此,想请教一下,是否算是一种设计模式,像角色扮演游戏那样,一个角色可以为附近的队友加buffer一样的效果。比如说我在一个脚本里用print输出一些文字到sys.stdout上,然而,只因为我导入了某个类进来,print的含义马上从输出变成发送这些消息到一个邮箱。相当于给print加了buff,建立起一个立场一样。或者说角色扮演的一个角色因为“变身”,而原来的技能都变了样。那样就可以实现“组件化”一般了,而之前我常用对象继承封装次数一多耦合度和BUG都会急剧增加。
正常情况
# 输出字符串
print 'design pattern'
增加buffer
from somewhere import mail_buffer
print 'design pattern'
#某人收到一封邮件,里面写着'design pattern'
我查找到一些现成设计模式的说明,然而我也是新手,看不出大概是对应哪一种设计模式,不知道对设计模式熟悉的人看完上面是否有点思路?谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
其实可以看作面向interface编程interface,定义一个interface,一个方法叫输出,A,B两个类都实现这个接口,A类里面是打印流,B类是写文件,这样在调用的时候只需要根据需要获取对应类的对象就行了,这样就实现了解耦,尤其是配合Ioc使用更明显