前言:想要寫出一篇引人入勝的文章?我們特意為您整理了混合模式在汽車保險服務中的應用范文,希望能給你帶來靈感和參考,敬請閱讀。
1車險業(yè)務及解決方案
汽車保險服務系統(tǒng)是專門為汽車保險計算業(yè)務而設計的系統(tǒng),該系統(tǒng)采用SSH框架進行整體實現,由于頁面展示內容多為表格統(tǒng)計操作,因此在系統(tǒng)的前端設計中引入了JQuery11.1及Ext.JS,系統(tǒng)數據庫采用MySQL進行設計實現。影響核心業(yè)務車輛保險計算模塊的主要因素包括車輛購置價格、保險費率、基礎保費、折扣系數、車輛類型折扣等因素,而這些因素的取值大部分都取決于公司所在地保險業(yè)標準、車輛類型及車輛使用年限三個因子。而這三個因子或者會因地域變化而變,或在在業(yè)務擴張過程中對車輛類型進行調整,變動性較大,因此相關模塊需要采用有針對性的措施盡可能的為系統(tǒng)提供高可復用性、可擴展性的設計方案。具體的解決方案如下:1)由于公司業(yè)務可能會涉及多個地區(qū),因此為了適應各地不同的費率標準,在系統(tǒng)設計中將各類標準費率錄入系統(tǒng)的數據庫中,而在系統(tǒng)的具體實現中使用變量代替這些因子的具體值,這樣既可避免業(yè)務擴張所帶來的大量代碼修改,同時也提高了代碼的可復用率。(2)客戶車輛保險應繳納費用取決于客戶選擇投保的險種及類型,即在計算過程中動態(tài)的增減一些類目,為了使系統(tǒng)具有更好的可擴展性,該部分的設計采用裝飾者模式進行設計、實現。(3)車輛保險的包含自燃險、玻璃單獨破碎險、全車盜搶險、車上人員險(包括司機和乘客兩類)、第三者責任險、機動車損失險(以下簡稱車損)等,所有險種依據參數的不同又可以進行細分,運用抽象工廠模式可以降低最終的保險計算與具體險種計算的耦合度、增強保險運算的靈活性。
2設計模式的應用
2.1裝飾者模式的應用
自此類,作為計算主體的TotalFee類中將返回交強險與車船稅之和,而其他的險種被視為TotalFee的“裝飾者”,對超類Insurance進行擴展,針對各類保險的具體計算方法calculateInsurance的重寫通過抽象工廠模式來進行完成。因此,在每種險種的類中都包含了對具體的工廠類的引用。保險服務系統(tǒng)中的裝飾者模式應用類圖如圖1所示。
2.2抽象工廠模式的應用
在2.1節(jié)中提到具體的每種保險的計算是通過抽象工廠模式來設計實現的,詳情如圖2所示。該保險服務系統(tǒng)中的保險分為兩類:基本險和不計免賠兩類,而基本險根據不同的車輛類型同一種險種的計算公式也不同,具體表現為所有私家車的基本險的金額都要在其他類車輛保險金額的基礎上乘以一個車輛類型系數,如0.9(該系數可能會因地區(qū)而異),因此系統(tǒng)實現中將用兩個具體的工廠類來針對私家車及非私家車的保險進行計算。VehicleInsurance類為所有種類保險的一個代表,具體類為圖1中的裝飾者類,在這個類中對具體情況的保險進行計算,而這種計算依賴于VehicleInsuranceFactory接口的具體實現,即私家車保險計算工廠類PrivateVehicleInsFactory或者非私家車保險計算工廠類OtherVehicleInsFactory,而每個工廠類都依賴著各個保險接口的具體實現類。系統(tǒng)中所有的保險都有各自的接口,每個接口又根據私家車與非私家車的類型分為兩種具體的實現分別于兩個具體的工廠類相對應。
3結束語
使用裝飾者模式進行客戶需繳納費用計算的設計方式取代簡單的繼承處理,使得系統(tǒng)的運算更加靈活,在后期維護工作中可改動少量代碼即可達到保險種類變更的簡單處理。同時抽象工廠模式的使用使得所有種類的保險計算都可以通過接口調用來完成,對象調用時無需關注具體方法實現過程,降低了具體方法的實現對保險計算過程的影響。通過這兩種模式的混合設計,基本將系統(tǒng)中保險計算的易變因素都進行了封裝處理,并大多采用組合而非繼承的方式使多數類之間的耦合度大大降低,增強了系統(tǒng)的可擴展性及可復用性。盡管這種混合模式的設計有利于系統(tǒng)的修改及維護,但由于類的增加,從而加重了系統(tǒng)跟蹤、文檔撰寫的工作量,因此對于所有類的使用說明、修改等工作都應盡可能詳盡的闡述??蛻衾U納金額取決于投保種類、車輛特性等參數,其中機動車交通事故強制責任險(以下簡稱交強險)、車船稅等金額是固定需要繳納的費用,而其他的投保險種因客戶而異,因此可以將交強險與車船稅二者之和作為最終繳納金額的主體,然后再運行時再根據客戶的不同需求動態(tài)的添加其他險種金額。具體的作法是將共有的部分保險類別insType屬性及計算客戶應交費用的方法calculateInsurance。
作者:陳海燕 何明祥 單位:山東科技大學