您好,登錄后才能下訂單哦!
在實際開發過程中,對已開發好的模塊代碼添加功能,但不能修改原代碼,不然違反了軟件開發中的“開發-封閉”原則 ,它規定已經實現的功能不允許被修改,但可以被擴展,即:
封閉:已實現的功能代碼塊不應該被修改
開放:對現有功能的擴展開放
Python在面向對象(OOP)的設計模式中,decorator被稱為裝飾模式。OOP的裝飾模式需要通過繼承和組合來實現,而Python除了能支持OOP的decorator外,直接從語法層次支持decorator。可以用函數實現,也可以用類實現。decorator可以增強函數的功能,定義起來雖然有點復雜,但使用起來非常靈活和方便。
1、無參數裝飾器,即需要裝飾的函數不需要傳入參數。
2、有參數裝飾器,即需要裝飾的函數有傳入參數。
3、不定長參數裝飾器
4、對帶有返回值的函數裝飾
5、通用裝飾器,兼容上面4種情況
6、裝飾器裝參數
7、舉例,某個網站已成功上線一段時間,現在有個需求,需要對某些頁面只針對vip客戶開放,需要添加權限認證。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。