策略模式和橋接模式的區別。
阿新 • • 發佈:2018-12-04
策略模式:
設計一個介面或者抽象類。
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;} } }
思路:就是將多種實現封裝在一個容器中,這樣就可以通過容器呼叫多種實現方法。
本質:就是一種方法。
橋接模式:
也是設計一個抽象類或者介面。多個實現。
但是是通過呼叫類直接呼叫。
本質:類的一種成員屬性
區別:看起來兩個的功能好像都一樣。但是一個有容器類,一個沒有。
為什麼:
策略模式本質是一個方法。所以要設計一個容器類,通過容器類呼叫實現。
橋接模式本質是一個成員。所以可以通過類直接呼叫。