一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - 詳解Java設計模式編程中的依賴倒置原則

詳解Java設計模式編程中的依賴倒置原則

2020-03-26 14:11卡奴達摩 JAVA教程

這篇文章主要介紹了詳解Java設計模式中的依賴倒置原則,針對面對對象編程中的抽象的運用,需要的朋友可以參考下

定義:
高層模塊不應該依賴低層模塊,二者都應該依賴其抽象;抽象不應該依賴細節(jié);細節(jié)應該依賴抽象。
問題由來:類A直接依賴類B,假如要將類A改為依賴類C,則必須通過修改類A的代碼來達成。這種場景下,類A一般是高層模塊,負責復雜的業(yè)務邏輯;類B和類C是低層模塊,負責基本的原子操作;假如修改類A,會給程序帶來不必要的風險。
解決方案:將類A修改為依賴接口I,類B和類C各自實現(xiàn)接口I,類A通過接口I間接與類B或者類C發(fā)生聯(lián)系,則會大大降低修改類A的幾率。
         依賴倒置原則基于這樣一個事實:相對于細節(jié)的多變性,抽象的東西要穩(wěn)定的多。以抽象為基礎搭建起來的架構比以細節(jié)為基礎搭建起來的架構要穩(wěn)定的多。在java中,抽象指的是接口或者抽象類,細節(jié)就是具體的實現(xiàn)類,使用接口或者抽象類的目的是制定好規(guī)范和契約,而不去涉及任何具體的操作,把展現(xiàn)細節(jié)的任務交給他們的實現(xiàn)類去完成。
         依賴倒置原則的核心思想是面向接口編程,我們依舊用一個例子來說明面向接口編程比相對于面向實現(xiàn)編程好在什么地方。場景是這樣的,母親給孩子講故事,只要給她一本書,她就可以照著書給孩子講故事了。

例子:
違法依賴倒置的情況

?
1
2
3
4
5
6
7
8
9
10
11
public class Student {
  public void read(Book book){
    System.out.println("學生開始閱讀:"+book.getName());
  }
}
 
public class Book {
  public String getName() {
    return "書籍";
  }
}


當學生需要閱讀網(wǎng)頁時,就需要修改Student類,這是很不友好的設計。下面我們看遵守依賴倒置原則的例子。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
public interface Person {
  public void read(Reader reader);
}
 
public interface Reader {
  public String getName();
}
 
public class Student implements Person{
  @Override
  public void read(Reader reader) {
    System.out.println("學生開始閱讀:"+reader.getName());
  }
}
 
public class Book implements Reader {
  public String getName() {
    return "書籍";
  }
}
 
public class Website implements Reader {
  public String getName() {
    return "網(wǎng)頁";
  }
}
 
public class Test {
  public static void main(String[] args) {
    Person student = new Student();
    student.read(new Book());
    student.read(new Website());
  }
}


在read方法中我們使用了接口作為參數(shù)。

總結:
1. 每個類最好有接口或者抽象類,或者同時接口和抽象類都有。
2. 變量聲明最好是接口或者抽象類。
3. 繼承時遵守里氏替換原則。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩免费高清完整版 | 99r在线播放 | 国产悠悠视频在线播放 | 娇喘嗯嗯 轻点啊视频福利 九九九九在线精品免费视频 | 男人好大好硬好爽免费视频 | 免费黄色小说 | 欧美四虎影院 | chinese野外gay军人 | 午夜精品久久久久久中宇 | 久久亚洲成a人片 | 91精品国产综合久久香蕉 | 欧美va在线播放免费观看 | 视频在线视频免费观看 | 午夜香蕉成视频人网站高清版 | 99热精品在线免费观看 | 欧美区日韩区 | 楚乔传第二部免费完整 | 午夜精品在线 | 激情综合色啪啪小说 | www视频在线免费观看 | 蜜臀91| 久久精品嫩草影院免费看 | 视频在线免费看 | 欧美日韩人成在线观看 | 小鸟酱视频在线观看 | 午夜宅男在线观看 | 欧美18一videos极品 | 女子监狱第二季在线观看免费完整版 | 亚洲欧美影院 | 第一次破女视频国产一级 | 日剧整部剧护妻狂魔免费观看全集 | 本土自拍| 精品国产中文字幕在线视频 | 亚洲欧美激情日韩在线 | 视频一区二区三区欧美日韩 | 男男18视频免费网站 | 欧美综合在线 | 色啪久久婷婷综合激情 | 亚洲 欧美 日韩 国产 视频 | 久久国产视频网 | 亚洲欧美激情日韩在线 |