乙個典型web應用的中間部分是業務層或服務層。從編碼的視角來看,這層是最容易被忽視的。我們往往在使用者介面層或持久層周圍看到這些業務處理的**,這其實是不正確的。因為它會造成程式**的高耦合,這樣一來,隨著時間推移,這些**將很難維護。幸好,針對這一問題有幾種框架(framework)存在,最受歡迎的兩個框架是spring和picocontainer。這些也被稱為輕量級容器(micro container),它們能讓你很好地把物件搭配起來。這兩個框架都著手於「依賴注射」(dependency injection),還有我們知道的「控制反轉」(inversion of control,ioc)這樣的簡單概念。這裡,我們將關注於spring的依賴注射和面向方面程式設計。另外,spring把程式中所涉及到的包含業務邏輯和資料訪問物件(dataaccess object)的objects——transaction management handler(事務管理控制)、object factories(物件工廠)、service objects(服務元件)都通過xml配置聯絡起來。
後面我們會通過專案和例項來揭示spring是怎樣運用這些概念的。
下面是業務層所負責的。
—處理應用程式的業務邏輯和業務校驗
—管理事務
—提供與其他層相互作用的介面
—管理業務層級別的物件的依賴
—在表示層和持久層之間增加了乙個靈活的機制,使得他們不直接聯絡在一起
—通過揭示從表示層到業務層之間的上下文(context)來得到業務邏輯(business services)
—管理程式的執行(從業務層到持久層)
乙個典型的Web應用部署結構分析
1 要成功部署乙個web應用,則必須遵循以下標準 參考 目錄結構。2 目錄說明 1 web inf目錄 必須直接放在web應用上下文之下 即一級目錄 2 class目錄 必須直接放在web inf目錄下。所有類檔案 普通bean servlet 過濾器 輔助類及標誌處理器等 的包結構都必須直接放在c...
HMAC的乙個典型應用
hmac的乙個典型應用是用在 挑戰 響應 challenge response 身份認證中,1 先由客戶端向伺服器發出乙個驗證請求。2 伺服器接到此請求後生成乙個隨機數並通過網路傳輸給客戶端 此為挑戰 3 客戶端將收到的隨機數提供給epass,由epass使用該隨機數與儲存在epass中的金鑰進行h...
從乙個例子看看乙個典型的混亂是如何形成
乙個服務程式前後寫了幾年之久,幾乎是在公司的發展之初就做出來。前後根據無數的需求加以修改,其中有技術需求有產品需求。服務程式的控制命令就有上百個之多!看似很雄偉的大樓卻少有只言片語,一點文件都沒。如今乙個功能的邏輯流程有了問題需要修改,但顯然不是很嚴重的問題,只涉及到了部分 在邏輯層次上是否流暢。或...