为了账号安全,请及时绑定邮箱和手机立即绑定

一个设计模式的请教

一个设计模式的请教

回首忆惘然 2018-08-03 21:14:22
这几天遇到一个BUG引发的联想,起因是一个ORM(peewee)把python内置的logging的配置给覆盖了,正常的东西无法输出,反而是输出大量转化后的原生的SQL语句。而导致这个问题仅仅是引用了一个类(还没初始化,仅仅是引用)。因此,想请教一下,是否算是一种设计模式,像角色扮演游戏那样,一个角色可以为附近的队友加buffer一样的效果。比如说我在一个脚本里用print输出一些文字到sys.stdout上,然而,只因为我导入了某个类进来,print的含义马上从输出变成发送这些消息到一个邮箱。相当于给print加了buff,建立起一个立场一样。或者说角色扮演的一个角色因为“变身”,而原来的技能都变了样。那样就可以实现“组件化”一般了,而之前我常用对象继承封装次数一多耦合度和BUG都会急剧增加。正常情况# 输出字符串print 'design pattern'增加bufferfrom somewhere import mail_buffer print 'design pattern'#某人收到一封邮件,里面写着'design pattern'我查找到一些现成设计模式的说明,然而我也是新手,看不出大概是对应哪一种设计模式,不知道对设计模式熟悉的人看完上面是否有点思路?谢谢!
查看完整描述

1 回答

?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

其实可以看作面向interface编程interface,定义一个interface,一个方法叫输出,A,B两个类都实现这个接口,A类里面是打印流,B类是写文件,这样在调用的时候只需要根据需要获取对应类的对象就行了,这样就实现了解耦,尤其是配合Ioc使用更明显

查看完整回答
反对 回复 2018-08-06
  • 1 回答
  • 0 关注
  • 1158 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信