大話設計模式二十二 橋接模式(手機軟體何時統一)

2021-09-01 19:53:29 字數 1146 閱讀 5278

橋接模式:

當發現我們需要多角度去分類實現物件,而只用繼承會造成大量的類增加,不能滿足開放-封閉 原則,就應該考慮用橋接模式了。

// 手機介面

public abstract class mobile

public mobilesoft getsoft()

public void setsoft(mobilesoft soft)

public string getbrand()

public void setbrand(string brand)

public abstract void run();

}// nokia手機

public class nokiamobile extends mobile

@override

public void run()

}// moto手機

public class motomible extends mobile

@override

public void run()

}// 手機軟體

public abstract class mobilesoft

public class mobile*** extends mobilesoft

}// 手機軟體: 遊戲

public class mobilegame extends mobilesoft

}public class bridgemain

}

合成/聚合復用原則:

聚合表示一種弱的擁有關係,體現的是a物件可以包含b物件,但b物件不是a物件的一部分(大雁和雁群是聚合關係)。

合成表示一種強的擁有關係,體現了嚴格的部分和整體的關係,部分和整體的生命週期一樣(大雁和翅膀就是合成關係)。

合成/聚合復用原則優點:

優先使用物件的合成/聚合將有助於你保持每個類被封裝,這樣類和類繼承層次會保持較小規模,並且不太可能增長為不可控制的龐然大物。

為什麼不用繼承?

繼承是一種強耦合的關係,父類變,子類也得跟著變,所以我們在用繼承時,一定要在是『is a』 的關係時再考慮使用。

大話設計模式 橋接模式

一 合成 聚合復用原則 盡量使用合成 聚合而不是繼承。二 橋接模式 將抽象部分與它的實現部分分離,使它們都可以獨立的變化。實現指的是抽象類和它的派生類用來實現自己的物件。三 示例 public abstract class handsetsoft public class handsetgame e...

大話設計模式二十二之職責鏈模式

菜鳥工作滿三個月了,馬上要辦轉正首先,提了加薪的事情。菜鳥對經理如實說了自己的想法,希望公司能在轉正時增加工資待遇,經理肯定了菜鳥的能力,但是加薪做不了主,但是幫他向上提一提。然後去找了人力資源總監,總監說這事他也做不了主,畢竟剛畢業的大學生加薪沒有先例,但總監說,等總經理來後,向總經理提一提這個事...

設計模式(二十二) 策略模式

有時候物件需要按照某種策略改變行為,我們可以利用策略模式,將策略或演算法提取出來,作為單獨的類實現。使用策略模式,可以讓具體演算法和應用物件分離,方便的根據不同條件替換策略。下面舉乙個例子。我們有乙個計算器,它會按照快和慢兩種策略來計算結果。所以我們可以將策略封裝起來。public inte ce ...