3.2 軟件架構設計
命名規範
1. 各層接口設計
功能模塊化接口設計模式,一個功能對應一個接口。javascript
Action層:css
Dao層:
html
Service層:java
2. 命名規範
類名必須使用名詞,若是一個類名內含多個單詞,那麼各個單詞第一個字母大寫,後續字母小寫,起伏呈駝峯狀,便是駝峯式命名。給類名命名時,必須保證準確、簡潔且容易理解。儘可能使用完整單詞,避免使用縮寫詞。web
1) 通常要求spring
1、選擇有意義的名字,能快速地傳達該類的用途。數據庫
2、參照java駝峯命名法,類名的首字母必須採用大寫的形式,若是類名爲多詞組合而成的話,那麼每一個詞的首字母必須採用大寫。如:GoodServiceI.java編程
3、當要區別接口類和實現類的時候,能夠在類的後面加上「Impl」。設計模式
如:接口類:GoodServiceI.java 接口實現類:GoodServiceImpl.java架構
4、推薦實體類沒有後綴名。
2) 實際應用
1、Dao層
a、接口類:採用JavaBean+Dao+I的形式來定義,即:實體對象+D如:用戶對象接口類:UserDaoI。
b、實現類:採用JavaBean+Dao+Impl的形式來定義,即:實體對象 +Dao+Impl 。如:用戶對象接口實現類:UserDaoImpl。
2、Service層
a、接口類:採用Xxx+ Service+I的形式來定義,即:模塊+ Service+I。如:用戶管理接口類:UseServiecI。
b、實現類:採用XXxx+ Service+Impl的形式來定義,即:模塊+ Service+Impl。如:用戶管理接口實現類:UseServiecImpl。
架構相關設計模式
1. 架構圖
2. 設計模式
採用MVC和Dao設計模式:SSH(Struts+Spring+Hibernate)架構做爲一種輕量級的Java EE平臺,也是基於MVC設計模式的。
①model層
model層爲相關實體類
②pageModel層
pageModel表示的是基於MVC模式的框架模型。鑑於model的不足之處,pageModel將顯示邏輯、業務處理、流程控制進行分離,具備組件化的優勢,從而更易於實現對大規模系統的開發和管理。
③dao層
數據庫操做層,負責對數據向數據庫增刪改查的操做。
④service層
Service是管理具體的功能的。
⑤action層
Action是管理業務(Service)調度和管理跳轉的,Action只負責管理,而Service負責實施。
1. 設計實現
採用三大框架Struts/Hibernate/Spring。
①struts
Struts在SSH框架中起控制的做用,其核心是Controller,即action,而action的核心就是Struts.xml,主要控制邏輯關係的處理。
②hibernate
Hibernate是數據持久化層,是一種新的對象、關係的映射工具,提供了從Java類到數據表的映射,也提供了數據查詢和恢復等機制,大大減小數據訪問的複雜度。把對數據 庫的直接操做,轉換爲對持久對象的操做。
③spring
Spring是一個輕量級的控制反轉(IoC)和麪向切面(AOP)的容器框架。面向接口的編程,由容器控制程序之間的依賴關係,而非傳統實現中,由程序代碼直接操控。這就是所謂「控制反轉」的概念所在:(依賴)控制權由應用代碼中轉到了外部容器,控制權的轉移,是所謂反轉。依賴注入,即組件之間的依賴關係由容器在運行期決定,形象地說,即由容器動態地將某種依賴關係注入到組件之中,起到的主要做用是解耦。
Struts、Spring、Hibernate在各層的做用:
a、Struts負責Web層:接收網頁中表單提交的數據,而後經過Action進行處理。
b、Spring負責業務層管理,即Service:能夠寫一些本身的業務方法;統一的Javabean管理方法;聲明式事務管理;集成hibernate。
c、 Hibernate:負責持久化層。
④easyui
jQuery EasyUI是一組基於jQuery的UI插件集合體,而jQuery EasyUI的目標就是幫助web開發者更輕鬆的打造出功能豐富而且美觀的UI界面。開發者不須要編寫複雜的javascript,也不須要對css樣式有深刻的瞭解,開發者須要瞭解的只有一些簡單的html標籤。