寫了一個app小軟體,重點不在于軟體,軟體bug挺多,也沒去修改。
這個小軟體隻是為了更好的說明和了解設計子產品而做的。
Java 程式設計–包結構
Java程式設計的系統體系結構很大一部分都展現在包結構上
大家看看我的這個小軟體的分層:

結構還是挺清楚的。
一種典型的Java應用程式的包結構:
字首.應用或項目的名稱.子產品組合.子產品内部的技術實作
說明:
1、字首:是網站域名的倒寫,去掉www(如,Sun公司(非JDK級别)的東西:com.sun.* )。
2、其中子產品組合又由系統、子系統、子產品、元件等構成(具體情況根據項目的大小而定,如果項目很大,那麼就多分幾層。
3、子產品内部的技術實作一般由:表現層、邏輯層、資料層等構成。
對于許多類都要使用的公共子產品或公共類,可以再獨立建立一個包,取名common或base,把這些公共類都放在其中。
對于功能上的公用子產品或公共類可建立util或tool包,放入其中。
如本例的util包。
設計與實作的常用方式、DAO的基本功能
設計的時候:從大到小
先把一個大問題分解成一系列的小問題。或者說是把一個大系統分解成多個小系統,小系統再繼續進行往下分解,直到分解到自己能夠掌控時,再進行動手實作。
實作的時候:從小到大
先實作元件,進行測試通過了,再把幾個元件實作合成子產品,進行測試通過,然後繼續往上擴大。
最典型的DAO接口通常具有的功能
新增功能、修改功能、删除功能、按照主要的鍵值進行查詢、擷取所有值的功能、按照條件進行查詢的功能。
一個通用DAO接口模闆
UserVO 和 UserQueryVO的差別
UserVO封裝資料記錄,而UserQueryVO用于封裝查詢條件。
下面的為那個小軟體實作這些設計模式的簡單彙總:
(含分層思想,值對象,工廠方法,Dao元件,面向接口程式設計)
main方法類:
UserClient :
公用子產品類 utils類:
FileIO :
值對象:
封裝資料記錄:
User:
封裝查詢條件:
UserQueryVO :
Dao類(資料層):
接口UserDAO :
工廠方法UserDaoFactory :
實作類 UserDaoFileIO :
邏輯層:
接口UserEbi :
工廠類UserEbiFactory :
實作類UserEbo :
表現層:
UserAddPanel 類:
UserListPanel 類: