Java 服務提供框架

2021-07-04 17:24:04 字數 1436 閱讀 6337

服務介面:

提供者實現,用於提供服務支援。例如:jdbc介面connection。

提供者註冊api:

服務提供框架用來註冊實現,讓客戶端訪問它們。 例如:drivermanager.registerdriver()。

服務訪問api:

客戶端用來獲取服務的例項,從而呼叫服務介面。服務訪問api一般允許但是不要求客戶端指定某種選擇提供者的條件,如果沒有這樣的規定,api就會返回預設實現的乙個例項。例如:drivermanager.getconnection()。

服務提供者介面:

這些提供者負責建立其服務實現的例項。例如:driver。

如果沒有服務提供者介面,實現就按照類名稱進行註冊,通過反射的方式進行例項化。例如:註冊jdbc驅動時jdbc.driver=com.mysql.jdbc.driver,假設沒有服務提供者介面,則提供者註冊api會將該驅動類名資訊儲存,在呼叫服務訪問api時,反射的方式進行例項化mysql驅動例項,從而訪問服務介面方法。

driver driver = new com.mysql.jdbc.driver(); // 服務提供者介面

drivermanager.registerdriver("com.mysql.jdbc.driver"); // 當然不推薦使用這種方式載入驅動,優先選擇forname方式,在此只是舉例闡明提供者註冊api

connection conn = drivermanager.getconnection(url); // 服務訪問api

statement stmt = conn.createstatement(); // 服務介面

服務提供者框架模式有無數變體,例如:服務訪問api可以使用介面卡模式,返回比提供者需要的更加豐富的服務介面。下面是乙個簡單實現:

// service provider framework sketch

// service inte***ce

public inte***ce service

// service provider inte***ce

service inte***ce provider

public class services

public static void registerprovider(string name, provider p)

// service access api

public static service newinstance()

public static service newinstance(string name)

return provider.newservice();

}}

java之服務提供者框架

服務提供者框架是指這樣乙個系統 多個服務提供者實現乙個服務,系統為服務提供者的客戶端 在類的實現中使用了api的類被稱為該api的客戶端 提供多個實現,並把它們從多個實現中解耦出來。服務提供者框架中有三個重要元件 服務介面 service inte ce 由服務提供者實現 提供者註冊api prov...

Minor PHP框架 4 服務容器與服務提供者

如果覺得還不錯給個star哦 v 知乎 github 4.1 服務提供者 minor使用ioc inversion of control,控制倒轉,這是乙個設計模式,可以先檢視下百科 容器這個強有力的工具管理類依賴。依賴注入 也是一種設計模式,一般用於實現ioc 是 乙個不用編寫固定 來處理類之間依...

Minor PHP框架 4 服務容器與服務提供者

如果覺得還不錯給個star哦 v 知乎 github 4.1 服務提供者 minor使用ioc inversion of control,控制倒轉,這是乙個設計模式,可以先檢視下百科 容器這個強有力的工具管理類依賴。依賴注入 也是一種設計模式,一般用於實現ioc 是 乙個不用編寫固定 來處理類之間依...