設計模式五 橋接模式

爲什麼要使用橋接模式?

橋接模式即是將抽象部分與它的實現(功能)部分分離,使它們都可以獨立地變化,抽象與實現分離,所以擴展能力強;

但是缺點是由於聚合關係建立在抽象層,要求開發者針對抽象化進行設計與編程,這增加了系統的理解與設計難度;

 橋接(Bridge)模式包含以下主要角色。

 抽象化(Abstraction)角色:定義抽象類,幷包含一個對實現化對象的引用。
 擴展抽象化(Refined    Abstraction)角色:是抽象化角色的子類,實現父類中的業務方法,並通過組合關係調用實現化角色中的業務方法。
 實現化(Implementor)角色:定義實現化角色的接口,供擴展抽象化角色調用。
 具體實現化(Concrete Implementor)角色:給出實現化角色接口的具體實現。

抽象化角色:

public abstract class AbstractService {

    protected SchoolWork schoolWork;
    public StudentService(SchoolWork schoolWork){
        this.schoolWork=schoolWork;
    }
    public abstract String sendSchoolWork(SchoolWork schoolWork);
}

擴展抽象化:學生

@Service("studentService")
public class 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章