日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php设计模式的六大原则(六):迪米特法则

發布時間:2023/12/20 php 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php设计模式的六大原则(六):迪米特法则 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為什么80%的碼農都做不了架構師?>>> ??

<?phpclass?Teacher?{//老師對學生發布命令,清一下女生public?function?commond(GroupLeader?$groupLeader){//初始化女生for($i=0;?$i<20;?$i++){$listGirls[]?=?new?Girl();}//告訴體育委員開始執行清查任務$groupLeader?->?countGirls($listGirls);} }class?GroupLeader?{//有清查女生的工作public?function?countGirls($listGirls?=?array()){echo?'女生的數量是:'?.?sizeof($listGirls);} }class?Girl?{}class?Client?{public?static?function?doing()?{$teacher=?new?Teacher();//老師發布命令$teacher?->?commond(new?GroupLeader());} }Client?::?doing();class?Teacher?{public?function?commond(GroupLeader?$groupLeader){//告訴體育委員開始執行清查任務$groupLeader?->?countGirls();} }class?GroupLeader?{private?$_listGirls?=?array();//傳遞全班的女生public?function?__construct($listGirls){$this?->?_listGirls?=?$listGirls;}//有清查女生的工作public?function?countGirls(){echo?"女生數量是:"?.?sizeof($this?->?_listGirls);} }class?Girl?{}class?Client?{public?static?function?doing()?{ //初始化女生for($i=0;?$i<20;?$i++){$listGirls[]?=?new?Girl();}$teacher=?new?Teacher();//老師發布命令$teacher?->?commond(new?GroupLeader($listGirls));} }Client?::?doing();

一個對象應該對其他對象了解最少。

迪米特法則的核心就是降低類鍵的耦合,從而提高類的復用性。

具體體現:

①?在類的劃分上,應該創建有弱耦合的類;
②?在類的結構設計上,每一個類都應當盡量降低成員的訪問權限;
③?在類的設計上,只要有可能,一個類應當設計成不變類;
④?在對其他類的引用上,一個對象對其它對象的引用應當降到最低;
⑤?盡量降低類的訪問權限;
⑥?謹慎使用序列化功能(類或接口在客戶端變更,卻未在服務端同步更新,引發序列化失敗,,項目管理易疏忽);
⑦?不要暴露類成員,而應該提供相應的訪問器(屬性)。

迪米特法則主要運用在觀察者模式和中介者模式中

迪米特法則的缺點:

1、遵循類之間的迪米特法則會使一個系統的局部設計簡化,因為每個局部都不會與遠距離的對象有直接的關聯;但也會造成不同模塊之間的通信效率降低,會使系統的不同模塊之間不容易協調。

2、在系統中造出大量的小方法,散落在系統的各個角落。這些方法僅傳遞間接的調用,與系統的商務邏輯無關。


轉載于:https://my.oschina.net/shyl/blog/531542

總結

以上是生活随笔為你收集整理的php设计模式的六大原则(六):迪米特法则的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。