如果我們即將開始一個帶有一些第三方庫(logging,orm,di,whatever)的新項目,您是否希望通過使用流暢接口進行編程來配置所有這些庫或與XML文件?Fluent和XML配置的優點和缺點
您會使用僅支持這些選項之一(Fluent或XML)的庫嗎?或者您更喜歡使用圖書館來選擇各種配置策略的可能性。
對於那些喜歡代碼的人,可以將其作爲一個假設的例子(用C#編寫)。
這是良好的配置:
LogConfiguration.ConfigureStorage()
.ForDatabase("CommonDB")
.AsMsSqlDatabase()
.WithConnectionString("server=(local); database=Northwind; Integrated Security=true;")
.AsDefault();
這是XML配置:
<logging>
<database name="CommonDB" provider="MSSQL" connString="server=(local); database=Northwind; Integrated Security=true;" default="true" />
</logging>
最後,有什麼優點和缺點流利和XML配置?
到現在爲止,我們已經來到這個:
流利配置在代碼
優點
- 強類型由編譯器
- 條件配置
缺點
- Unabled後重新建立
XML配置
優點
- 能力後輕易改變部署
缺點
- XML是冗長
- 更容易打字錯誤
通過代碼中的配置,您可以具有相同(或更好)的可讀性,以FluentNHibernate和.hbm.xml文件之間的差異爲例。在這種情況下,我發現流利的方式更容易理解。 – goenning 2011-02-28 14:16:11
在這個例子中,作者提到了一些重要的事情 - >數據庫配置。在那種情況下,確定XML是更好的方法。而hibernate的實體配置,我也放在源代碼中。問題是作者的真正含義?哪部分配置? – 2011-02-28 14:22:17
我是作者:)我對你的回答的評論是關於可讀性和不可維護性的。談到部署後更改配置(如連接字符串)時,我也同意XML更好。 – goenning 2011-02-28 14:32:50