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

歡迎訪問 生活随笔!

生活随笔

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

asp.net

迪米特法则 java_java设计模式--迪米特法则

發布時間:2025/5/22 asp.net 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 迪米特法则 java_java设计模式--迪米特法则 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基本介紹

1、一個對象應該對其他對象保持最少的了解

2、類與類關系越密切,耦合度越大

3、迪米特法則又叫最少知道原則,即一個類對自己依賴的類知道的越少越好。也就是說,對于被依賴的類不管多么復雜,都盡量將邏輯封裝在類的內部。對外除了提供public方法,不對外泄露任何信息

4、迪米特法則還有個更簡單的定義:只與直接朋友通信

5、直接的朋友:每個對象都會與其他對象有耦合關系,只要兩個對象只有有耦合關系,我們就說這兩個對象之間是朋友關系。耦合的方式很多,依賴,關聯,組合,聚合等。其中,我們稱出現成員變量,方法參數,方法返回值中的類為直接的朋友,而出現在局部變量中的類不是直接的朋友。也就是說,陌生的類最好不要以局部變量的形式出現在類的內部。

案例分析

public class Demeter1 {

public static void main(String[] args) {

SchoolManager schoolManager = new SchoolManager();

schoolManager.printAllEmployee(new CollegeManage());

}

}

//總部員工的類

class Employee {

private String id;

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

}

//學院員工的類

class CollegeEmployee {

private String id;

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

}

//管理學院員工的類

class CollegeManage {

// 返回學院的所有員工

public List getAllEmployee() {

List list = new ArrayList();

for (int i = 0; i < 10; i++) {

CollegeEmployee emp = new CollegeEmployee();

emp.setId("學院員工id" + i);

list.add(emp);

}

return list;

}

// 輸出學院員工的信息

public void printEmployee() {

// 獲取學院員工

List list1 = this.getAllEmployee();

System.out.println("------學院員工------");

for (CollegeEmployee e : list1) {

System.out.println(e.getId());

}

}

}

//管理學校員工的類

class SchoolManager {

// 返回學校總部的所有員工

public List getAllEmployee() {

List list = new ArrayList();

for (int i = 0; i < 5; i++) {

Employee emp = new Employee();

emp.setId("學校總部員工" + i);

list.add(emp);

}

return list;

}

void printAllEmployee(CollegeManage sub) {

/*

* 分析問題 1.這里的CollegeEmployee 不是 SchoolManager的直接朋友 2.CollegeEmployee

* 是以局部變量的方式出現在 SchoolManager 3.違反了迪米特法則

*/

/*

* 解決辦法 1.將輸出學院的員工方法,轉到CollegeEmployee

*/

sub.printEmployee();

// 獲取學校總部員工

List list2 = this.getAllEmployee();

System.out.println("------學校總部員工------");

for (Employee e : list2) {

System.out.println(e.getId());

}

}

}

上面的代碼,CollegeEmployee 不是 SchoolManager的直接朋友,CollegeEmployee是以局部變量的方式出現在SchoolManager,所以違反了迪米特法則

改進代碼

public class Demeter1 {

public static void main(String[] args) {

SchoolManager schoolManager = new SchoolManager();

schoolManager.printAllEmployee(new CollegeManage());

}

}

//總部員工的類

class Employee {

private String id;

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

}

//學院員工的類

class CollegeEmployee {

private String id;

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

}

//管理學院員工的類

class CollegeManage {

// 返回學院的所有員工

public List getAllEmployee() {

List list = new ArrayList();

for (int i = 0; i < 10; i++) {

CollegeEmployee emp = new CollegeEmployee();

emp.setId("學院員工id" + i);

list.add(emp);

}

return list;

}

}

//管理學校員工的類

class SchoolManager {

// 返回學校總部的所有員工

public List getAllEmployee() {

List list = new ArrayList();

for (int i = 0; i < 5; i++) {

Employee emp = new Employee();

emp.setId("學校總部員工" + i);

list.add(emp);

}

return list;

}

void printAllEmployee(CollegeManage sub) {

// 獲取學院員工

List list1 = sub.getAllEmployee();

System.out.println("------學院員工------");

for (CollegeEmployee e : list1) {

System.out.println(e.getId());

}

// 獲取學校總部員工

List list2 = this.getAllEmployee();

System.out.println("------學校總部員工------");

for (Employee e : list2) {

System.out.println(e.getId());

}

}

}

迪米特法則應注意的事項和細節

1、迪米特法則的核心是降低類之間的耦合

2、由于每個類都減少了不必要的依賴,因此迪米特法則知識要求降低類間(對象間)耦合關系,并不是要求完全沒有依賴關系

總結

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

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

主站蜘蛛池模板: 国产成人精品免费视频 | jizzjizz亚洲 | www男人天堂 | 女同动漫免费观看高清完整版在线观看 | 99草视频| 日韩激情在线 | 欧美毛片在线观看 | 黑人粗进入欧美aaaaa | 成 人 免费 黄 色 | 亚洲色图在线观看视频 | 毛片网站在线 | 福利视频在线看 | 国内自拍在线 | 国产搞逼视频 | 国产成人资源 | 国产午夜精品久久久久 | 国产又粗又猛又爽又黄的网站 | 好吊色视频一区二区 | 久久国产传媒 | 网站久久| 美女91网站| 日本久久高清 | 欧美一级在线看 | 少妇视频在线播放 | 国产精品成人在线 | 日韩色视频在线观看 | 国产精品av久久久久久无 | 久久久久久草 | 亚洲欲色| 天天操夜夜爽 | 色综合88| 一区二区三区在线视频免费观看 | 国产精品主播一区二区 | 精品无码一级毛片免费 | 欧美另类性| 国产成人精品自拍 | 精品91av| 天天干视频在线 | 欧美色图五月天 | 日本久久久久久久久 | 亚洲精品影视 | 国产精品99久久久久久久久久久久 | juliaann欧美二区三区 | 欧美日韩a级 | 日韩一区二区三区四区五区六区 | free欧美性69护士呻吟 | 免费观看日韩 | 欧美丰满老妇性猛交 | 黄色一区二区三区 | 亚欧在线 | 女人喂男人奶水做爰视频 | 免费日韩av | 日韩成人av一区 | 国产欧美中文字幕 | 欧美日韩中文字幕视频 | 91无毒不卡 | 玖草影院 | 亚洲啊啊| 国产永久精品大片wwwapp | 爱情岛黄色 | 真实人妻互换毛片视频 | 激情视频激情小说 | 精品久久久999 | 日韩欧美在线精品 | 国产日韩欧美视频在线 | 欧美亚洲福利 | 成年人免费在线看 | 四虎新网站 | 四虎av影院| 国产精品视频麻豆 | 在线观看免费小视频 | 91视频精品 | 娇妻玩4p被三个男人伺候电影 | 91免费看黄| 91精东传媒理伦片在线观看 | 国产专区视频 | 伊人久久九| 久久网中文字幕 | 欧美99久久精品乱码影视 | 国产免费专区 | 成人精品福利视频 | 美女隐私免费 | 亚洲一区二区三区久久久成人动漫 | 69久人妻无码精品一区 | 激情小说在线 | av电影在线播放 | 免费处女在线破视频 | 国产伦精品一区二区三区四区视频 | 人妻视频一区二区 | 两女双腿交缠激烈磨豆腐 | 特种兵之深入敌后高清全集免费观看 | 久久性网| 国产男女猛烈无遮挡 | 国产专区在线 | 亚洲一线二线在线观看 | 国产青青青 | 日本伦理中文字幕 | 国产精品一区在线播放 | 幸福宝在线观看 |