亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

一個設計模式的請教

一個設計模式的請教

回首憶惘然 2018-08-03 21:14:22
這幾天遇到一個BUG引發的聯想,起因是一個ORM(peewee)把python內置的logging的配置給覆蓋了,正常的東西無法輸出,反而是輸出大量轉化后的原生的SQL語句。而導致這個問題僅僅是引用了一個類(還沒初始化,僅僅是引用)。因此,想請教一下,是否算是一種設計模式,像角色扮演游戲那樣,一個角色可以為附近的隊友加buffer一樣的效果。比如說我在一個腳本里用print輸出一些文字到sys.stdout上,然而,只因為我導入了某個類進來,print的含義馬上從輸出變成發送這些消息到一個郵箱。相當于給print加了buff,建立起一個立場一樣?;蛘哒f角色扮演的一個角色因為“變身”,而原來的技能都變了樣。那樣就可以實現“組件化”一般了,而之前我常用對象繼承封裝次數一多耦合度和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 關注
  • 1226 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號