撰寫可互通的應用程式
如果應用程式針對多個驅動程式使用相同的程式碼,該程式碼必須互通於這些驅動程式間。 在大部分情況下,程式碼互通是簡單的工作。 例如,所有驅動程式都使用相同的程式碼,透過順向資料指標擷取資料列。 在部分情況下,程式碼互通可能較困難。 例如,建構要用於 SQL 陳述式的識別碼時,程式碼必須考慮識別碼大小寫、引號,及一個組件、兩個組件和三個組件的命名慣例。
一般而言,互通的程式碼必須處理功能支援和功能變異性的問題。 功能支援即是否支援特定功能。 例如,不是所有 DBMS 都支援交易,而且無論交易支援為何,互通的程式碼都必須正常運作。 功能變異性即支援特定功能的各種方式。 例如,目錄名稱置於部分 DBMS 的識別碼開頭,但在其他 DBMS 置於識別碼結尾。
應用程式可在設計階段或執行階段,處理功能支援和功能變異性。 若要在設計階段處理功能支援和變異性,開發人員要查看目標 DBMS 和驅動程式,並確定相同的程式碼互通於 DBMS 和驅動程式。 應用程式的互通性低或有限低或有限時,通常以這方式處理這些問題。
例如,如果開發人員保證垂直應用程式只適用於四個特定的 DBMS,且這四個 DBMS 都支援交易,應用程式即不需要程式碼檢查執行階段的交易支援。 所以您一律可以假設交易可用,因為設計階段決策只使用四個 DBMS,每個都支援交易。
若要在執行階段處理功能支援和變化性,應用程式必須在執行階段測試不同的功能,並採取應對行動。 高互通的應用程式通常以這方式處理這些問題。 如果是功能支援問題,處理方式即撰寫可選用功能的程式碼,或撰寫的程式碼可在功能無法使用時,模擬功能。 如果是功能變異性問題,處理方式即撰寫支援所有可能變化的程式碼。
此章節包含下列主題。