在做服務介面的時候,往往在業務處理之前需要做業務校驗,格式校驗等業務前處理。這些介面有個相同的特徵,就是必須經過這些處理步驟之後才能做核心的業務處理,拓展的服務介面也必須經過這些處理。基於這個特徵,我們就來分析一下設計模式中,建造者模式。
我們先建乙個基礎的服務類
public abstract class baseservice
protected void validate()
protected abstract void doservice();
}
再新建乙個具體處理的業務子類
public class query extends baseservice
protected void validate()
@override
protected void doservice()
}
最後做乙個模式特徵的類,建造者類
public class servicebuilder
public void doservice()
}
核心的地方就是建造者類的doservice方法,只要呼叫這個方法,就必須呼叫baseservice類中的3個方法,保證業務流程的一直性。
我們再做個測試類
public class test
}
測試結果
query init...
query validate...
query doservice...
總結:建造者模式將乙個複雜物件(servicebuilder)的構建和它的表示分離,使得同樣的構建(servicebuilder)可以建立不同的表示(baseservice的子類)。
如果遇到這樣的場景:複雜物件但是構建過程的建造順序穩定(init(),validate(),doservice()),建議考慮一下建造者模式
設計模式之建造者模式
軟體領域中的設計模式為開發人員提供了一種使用專家設計經驗的有效途徑。設計模式中運用了物件導向程式設計語言的重要特性 封裝 繼承 多型,真正領悟 設計模式的精髓是可能乙個漫長的過程,需要大量實踐經驗的積累。最近看設計模式的書,對於每個模式,用c 寫了個小例子,加深一下理解。主要參考 大話設 計模式 和...
設計模式之建造者模式
建造者模式也叫生成器模式,是一種物件建立型模式,用來隱藏復合物件的建立過程,它把復合物件的建立過程加以抽象,通過子類繼承或過載的方式,動態的建立具有復合屬性的物件。應用場景 物件的建立 builder 模式是為物件的建立而設計的模式 建立的是乙個復合物件 被建立的物件為乙個具有復合屬性的復合物件 關...
設計模式之建造者模式
建造者模式又叫生成器模式,定義如下 將乙個複雜物件的構造與它的表示分離,是的同樣的構建過程 可以建立不同的表示 建造者模式的通用類圖如下 如下 public abstract class bulider public class concretebuilder extends bulider ret...