慣例重於配置
阿新 • • 發佈:2017-08-04
特定 新的 sql 行修改 模板 知識庫 base zhang 框架 慣例重於配置是Rails帶入主流應用開發中的概念。它不是提供那些對於 各個應用而言都很相似的配置文件,而是假定在絕大多數情況下,開發人員都會遵守特定的模式。這種模式具有足夠的通用性,所以可以被認為是一種開發慣例,框 架會默認使用這種模式,而不是為每一個新的應用都提供配置。在默認情況下,開發人員就不必再管理種種配置信息了。如果有的需求與慣例的配置信息不同,那麽 還可以根據需求進行修改,把默認模式覆蓋掉。
Struts 2采用了這個概念。松耦合在給Struts 2帶來高度靈活性的同時,也帶來了配置上的高度復雜性。慣例在這二者之間做出了平衡,為我們提供了簡潔而高效的開發者體驗。
Struts 2中“慣例重於配置”的應用可以通過以下幾個例子來說明:
♦ 隱式的配置文件加載——不需要顯式配置“struts-default.xml”和“struts-plugin.xml”(對每一個插件而言)文件,它們會被自動加載。
♦ Code Behind插件——在使用code behind 插件時,它會混合使用action名和結果字符串在結果模板中進行自動搜索,所以“/user/add.action” 這個action的“success”結果會返回“/user/add-success.jsp”結果模板,“error”結果會返回“/user /add-error.jsp”結果模板。
♦ 默認的結果和結果類型—— 在配置Action的時候,如果使用默認的“success”結果和JSP結果類型的話,就不需要對它們進行配置
♦ 織入(Wiring)Spring業務服務——在安裝了Spring框架插件以後,就不必為每個Action所需的Spring提供的業務服務進行配置,這些 業務服務會被自動織入到Action裏.
本質是說,開發人員僅需規定應用中不符約定的部分。例如,如果模型中有個名為Sale的類,那麽數據庫中對應的表就會默認命名為sales。只有在偏離這一約定時,例如將該表命名為”products_sold”,才需寫有關這個名字的配置。
如果您所用工具的約定與你的期待相符,便可省去配置;反之,你可以配置來達到你所期待的方式。
參考:
http://blog.csdn.net/zhangzeyuaaa/article/details/43567135
慣例重於配置