一個體現Java介面及工廠模式優點的例子
阿新 • • 發佈:2018-12-30
本例子以操作不同型別的資料庫為例:
簡要說明:- OracleDataOperate、SqlserverDataOperate、MysqlDataOperate,分別代表Oracle、Sqlserver、Mysql這三種資料庫的操作類。繼承自AbstractDataOperate
- AbstractDataOperate是一個抽象類,包含了那些不同種類資料庫都是一樣程式碼的操作方法。繼承自DataOperate
- DataOperate是上面說的資料操作類的統一介面,只有兩個方法:取得一條記錄、插入一條記錄。
- DataOperateFactory是一個工廠方法,統一用它的方法來得到資料庫操作類的例項。
- SampleClass是我們系統的某個功能模組的類。
- People是一個實體類,代表一條記錄。三個欄位 oid唯一識別符號、name姓名、date生日。
- 從例子中我們可以看到什麼是面向介面的程式設計方式。SampleClass使用資料操作類可以不必關心具體是那個類,只要是符合介面的都行
- 要例項?只須呼叫DataOperateFactory.getInstance()即可,其它的交於DataOperateFactory這個工廠來做吧,使用端什麼都不用關心。
- 我們要支援新的資料庫型別,只須要象OracelDataOperate那樣,再寫一個繼承AbstractDataOperate的類即可,比如SysbaseDataOperate。然後到DataOperateFactory中加入相應程式碼即可。
- 如果我們想要可配置性更高,可以用private static int dataType = MYSQL;中的值設定到一個文字檔案中。