首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 設計模塊實戰:書店管理系統單機版(一)需求與架構設計

     編輯:Java 相關知識

專案背景

本系列通過一個單機版書店管理系統,綜合鍛鍊 Java 基礎、面向對象、分層架構、Swing GUI、IO 持久化、集合框架等核心技能。

功能需求

模塊核心功能
用戶管理註冊、修改、刪除、查詢;權限分級
圖書管理增刪改查圖書基本信息
進貨管理填寫進貨單(多明細),自動更新庫存
銷售管理填寫銷售單(多明細),校驗庫存,自動扣減
庫存查詢明細查看、條件搜索

權限設計

  • 類型 1:Admin(全權限)
  • 類型 2:圖書管理員
  • 類型 3:進貨管理員
  • 類型 4:銷售管理員
  • 類型 5:庫存管理員

數據存儲設計(文本文件序列化)

  • User.txt、Book.txt、InMain.txt、InDetail.txt、OutMain.txt、OutDetail.txt、Stock.txt
  • 採用 Java 對象序列化(ObjectOutputStream/InputStream)持久化 List 集合。

分包結構(三層架構)

cn.hncu.bookStore
├── user
│   ├── ui          # 表示層
│   ├── business    # 邏輯層
│   │   ├── ebi     # 接口
│   │   ├── ebo     # 實現
│   │   └── factory # 工廠
│   ├── dao         # 數據層
│   │   ├── dao     # 接口
│   │   ├── impl    # 實現
│   │   └── factory # 工廠
│   └── vo          # 值對象
├── book / in / out / store  # 同結構
├── common            # 公共枚舉、常量
└── util              # 工具類

核心代碼片段

用戶值對象

public class UserModel implements Serializable {
    private String uuid, name, pwd;
    private int type; // 1-5 對應權限
    // getter/setter、equals/hashCode(按 uuid)、toString
}

通用文件 IO 工具

public class FileIoUtil {
    @SuppressWarnings("unchecked")
    public static <E> List<E> readFormFile(String fileName) { ... }
    public static <E> void write2file(List<E> list, String fileName) { ... }
}

用戶 DAO 接口

public interface UserDao {
    boolean create(UserModel user);
    boolean delete(String uuid);
    boolean update(UserModel user);
    List<UserModel> getAll();
    List<UserModel> getByCondition(UserQueryModel uqm);
    UserModel getSingle(String uuid);
}

下一步預告

下篇將展開邏輯層實現、Swing 界面面板與主程序啟動類。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved