1. 程式人生 > >策略模式和橋接模式的區別。

策略模式和橋接模式的區別。

策略模式:

設計一個介面或者抽象類。

public interface Employment{

    public void work();
}

多種具體實現:

public class Enterprise implements Employment{

    public void work("創業");
}

.........

容器物件:

public class Context(){

Employment employment;

public void work(){

   employment.work();

}

pubilc Context(Employment employment){

     this.employment=employment;}

   }

}

思路:就是將多種實現封裝在一個容器中,這樣就可以通過容器呼叫多種實現方法。

本質:就是一種方法。

 

橋接模式:

也是設計一個抽象類或者介面。多個實現。

但是是通過呼叫類直接呼叫。

本質:類的一種成員屬性

 

區別:看起來兩個的功能好像都一樣。但是一個有容器類,一個沒有。

為什麼:

策略模式本質是一個方法。所以要設計一個容器類,通過容器類呼叫實現。

橋接模式本質是一個成員。所以可以通過類直接呼叫。