账单小项目

只是用来练习Java的一个项目

整体结构如下:

  • 界面显示包 gui:下面又分了5个包
    • frame:存放一个顶级容器来存放所有的面板
    • panel:存放显示各个页面的panel类
    • model:存放2个表格类
    • listener:存放每个panel中触发器的类和一个顶部toolbar触发器类
    • page:存放首页spend中数据的类
  • 存放工具类的包:包括日期处理类,颜色设置类等等
  • 实体类包entity:对3张表进行映射,存放3个类
  • dao类:把实例与数据库中表进行映射,包含一些处理表的数据的方法,其中使用sql命令
  • 业务处理包service:存放业务类,是对dao类的再封装,使得操作表中数据更加的方便
  • startup:存放了一个启动类

几处注意的地方:

  1. entity,dao,service之间的关系:

    Listener ====> Service ====> Dao ====> 数据库

  2. 每一个界面的panel都继承自一个自定义的WorkingPanel类:因为功能相似,所以抽象出一个父类,提供 addListener() 和 updateData() 两个虚方法。

  3. 对常用方法进行封装了形成几个工具类:

  4. 将每个panel中触发器进行封装重写:

  5. 类成员的访问权限

  6. 每个panel都是单例模式