橋接模式:將抽象部分與實現部分相分離,使得他們都可以相互獨立的變化。
橋接模式初步理解:手機和軟件之間是相互獨立的,一個手機可以安裝很多軟件,同時一個軟件也可以安裝在很多不同的手機上。手機和軟件之間是一種聚合的關係,而不是繼承,繼承是一種很強的耦合關係。如果手機和軟件之間是繼承的關係,那麼將會生成很多不必要的類。
如果手機和軟件之間是一種聚合的關係,那麼手機和軟件就可以相互獨立開來,各自發展各自的。需要的時候拿過來用就可以了。
code…
核心代碼
抽象類,相當於上述的手機類。其中implementor相當於軟件,軟件可以用多個。在此只寫了一個。
public abstract class Abstraction {
protected Implementor implementor;
public Abstraction(Implementor implementor)
{
this.implementor=implementor;
}
public abstract void operation();
}
實現類的接口:
public interface Implementor {
public void operationImp();
}
在軟件的設計中,能用組合或聚合是就不要用繼承。只有在兩個類的關係是is-a的時候才用繼承。
在橋接模式中,實現系統可能有多角度分類,每一種分類都有可能變化,那麼就把這種多角度分離出來讓它們獨立變化,減少他們之間的耦合。
上一篇 |
---The End---
|
下一篇 |