我正在尋找在不使用repeating yourself的情況下在不同地點使用相同數據的最佳做法 - 這可能包括配置或業務規則。如何在語言之間共享配置信息或業務規則
示例1.您要在客戶端上使用javascript驗證的數據驗證規則,但您希望通過服務器上的驗證來確認。
示例2.數據庫訪問您的Web服務器和您的cronjobs使用相同的密碼,用戶名。
易於處理和人性化的解決方案將是一個優點。
我正在尋找在不使用repeating yourself的情況下在不同地點使用相同數據的最佳做法 - 這可能包括配置或業務規則。如何在語言之間共享配置信息或業務規則
示例1.您要在客戶端上使用javascript驗證的數據驗證規則,但您希望通過服務器上的驗證來確認。
示例2.數據庫訪問您的Web服務器和您的cronjobs使用相同的密碼,用戶名。
易於處理和人性化的解決方案將是一個優點。
XML在全球範圍內非常普遍。易讀,易寫,易讀。如果您擔心空間開銷(如果您想要人類可讀的話,實際上並不是這樣),然後在發送之前將其壓縮,XML壓縮得相當好。
查看對this question的回答。我認爲他們適用於這裏,特別是the one with a DSL。
儘管討厭分享數據驗證規則,但我不得不說Regular Expressions。我知道,我知道,每個人都討厭他們,但他們(通常)是語言不可知的。
使用O/S環境變量(envvars中)來存儲應用程序的配置信息(諸如分貝密碼)
驗證規則通常需要的邏輯。你可以用JavaScript編寫規則,然後在瀏覽器,服務器(使用Nashorn)和數據庫(使用Postgres的PLV8)中運行它們。
這不是通常意義上的「配置」。這是代碼。請放下「配置」,在代碼中加入「代碼」或「業務規則」或其他內容。 – 2008-10-27 13:27:04
我已將業務規則添加到標題和標籤,但我認爲配置適用於第二個示例。例如,MySQL將.my.cnf文件(包括用戶,密碼,主機等)稱爲配置文件。 – Ken 2008-10-27 14:30:32