-
策略模式,瞎猜想像成,原先有不同的有熱水(AD)和冷水(Category)開關的飲水機,里面已經裝著不同的飲料(male,或female),想喝那個就去走向那個,開啟哪個開關,現在改為,只要一個飲水機(通用),先選擇原料包,然后再裝入桶里(通用),這樣,下次我要另外的口味,只需選擇好原料倒進桶里即可,而不用每次喝不同飲料,就增加多一個飲水機
查看全部 -
mysqli?
什么是面向對象和面向過程?
protated
查看全部 -
面向對象的基本原則
查看全部 -
觀察者模式
查看全部 -
3種設計模式
查看全部 -
適配器模式
將不同的方法統一接口方法
查看全部 -
__set($key, $value) 成員屬性賦值時,若不存在該成員屬性則自動調用
__get($key) 獲取成員屬性時,若不存在該成員屬性則自動調用
__call($func, $patam) 調用方法時,若不存在該方法則自動調用
__callStatic($func, $patam) 調用靜態方法時,若不存在該方法則自動調用(此魔術方法也需要聲明為靜態)
__toString() 當一個類被當成字符串使用時,自動調用
__invoke($param) 當一個類被當成函數使用時,自動調用
查看全部 -
單一職責
可擴展替代修改
低耦合,使用依賴注入
可配置化
面向接口而不關心實現
查看全部 -
什么時候用抽象類,什么時候用接口?
>方法的實現的區別
為什么用抽象類,不直接使用普通的基類
>抽象類不能被實例化,該場景也確實不需要實例化,不是不能,對于只是作為被繼承的基類的時候,抽象類用起來更優雅一些。
策略模式和觀察者模式有什么區別
>其實從理念來講,都是因“異”而異,策略模式側重因人而異,選擇對應的處理策略,往往是多個策略擇其一;觀察者模式側重事件觸發時的后續處理,后續處理的邏輯往往需要設計成可以排列組合的。
查看全部 -
//?php?鏈式操作實現原理 //?class?普通實現 class?DB {??? ????function?all() ????{ ????????????//?在需要鏈式操作的每個方法后面返回?calss?本身 ????????return?$this; ????} } //?__call?和?call_user_func_array?實現 class?Foo { ????function?__call($function,?$args) ????{ ????????call_user_func_array([$this,?$function],?$args); ????????return?$this; ????} }
查看全部 -
//?spl?標準庫常用數據結構 //?棧 $stack?=?new?SplStack(); //?隊列 $queue?=?new?SplQueue(); //?最小堆 $minHeap?=?new?SplMinHeap(); //?固定長度數組 $array?=?new?SplFixedArray();
查看全部 -
//?php自帶函數?自動加載未定義的類? //?在整個php?運行上下文中只許存在一個?__autoload function?__autoload($class){ ????//?引導代碼 } //?注冊自定義的自動加載函數 //?允許注冊多個 spl_autoload_register('divAutoloadFunction');
查看全部 -
ArrayAccess自動加載配置類
查看全部 -
代理模式:用于數據庫的讀寫分離。
查看全部 -
迭代器模式
類繼承implements? \Iterator
查看全部
舉報