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

歡迎訪問 生活随笔!

生活随笔

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

php

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

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

class?Teacher?{

//老師對學生發(fā)布命令,清一下女生

public?function?commond(GroupLeader?$groupLeader){

//初始化女生

for($i=0;?$i<20;?$i++){

$listGirls[]?=?new?Girl();

}

//告訴體育委員開始執(zhí)行清查任務

$groupLeader?->?countGirls($listGirls);

}

}

class?GroupLeader?{

//有清查女生的工作

public?function?countGirls($listGirls?=?array()){

echo?'女生的數(shù)量是:'?.?sizeof($listGirls);

}

}

class?Girl?{

}

class?Client?{

public?static?function?doing()?{

$teacher=?new?Teacher();

//老師發(fā)布命令

$teacher?->?commond(new?GroupLeader());

}

}

Client?::?doing();

class?Teacher?{

public?function?commond(GroupLeader?$groupLeader){

//告訴體育委員開始執(zhí)行清查任務

$groupLeader?->?countGirls();

}

}

class?GroupLeader?{

private?$_listGirls?=?array();

//傳遞全班的女生

public?function?__construct($listGirls){

$this?->?_listGirls?=?$listGirls;

}

//有清查女生的工作

public?function?countGirls(){

echo?"女生數(shù)量是:"?.?sizeof($this?->?_listGirls);

}

}

class?Girl?{

}

class?Client?{

public?static?function?doing()?{

//初始化女生

for($i=0;?$i<20;?$i++){

$listGirls[]?=?new?Girl();

}

$teacher=?new?Teacher();

//老師發(fā)布命令

$teacher?->?commond(new?GroupLeader($listGirls));

}

}

Client?::?doing();

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

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

具體體現(xiàn):

①?在類的劃分上,應該創(chuàng)建有弱耦合的類;

②?在類的結構設計上,每一個類都應當盡量降低成員的訪問權限;

③?在類的設計上,只要有可能,一個類應當設計成不變類;

④?在對其他類的引用上,一個對象對其它對象的引用應當降到最低;

⑤?盡量降低類的訪問權限;

⑥?謹慎使用序列化功能(類或接口在客戶端變更,卻未在服務端同步更新,引發(fā)序列化失敗,,項目管理易疏忽);

⑦?不要暴露類成員,而應該提供相應的訪問器(屬性)。

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

迪米特法則的缺點:

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

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

總結

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

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