上篇文章中我提到这个客户端要实现的一些功能,现在,我们来进行分析和设计
1.串口读卡通信
串口通信在.net中有专门的SerialPort控件直接可以用,所以我们只需要关心得到的数据如何处理就可以。在数据读入时触发校验、出退勤等一系列行为。
2.出退勤的功能
设计了Duty类,表示勤务的基础功能,派生出OnDuty和OffDuty两个类,应用程序的大部分功能都在这两个类中实现。
3.数据DB和日志DB操作的类
对数据库进行增改删查的两个基础类SqlDB,MongoDB
4.访问配置清单的类
DutyConfig类,用于访问应用程序必须的用户配置信息
5.辅助类
用户类(User):为了便于用户信息的操作,比如ID,头像,姓名等,都作为该类的属性来设计。
伴随系统工作的类(Worker):一些基础的系统状态,属性,提供检查数据连接状态等伴随着应用程序运行时的常用方法。
播放提示音乐的类(Player):负责音频文件的播放控制。
回参调用类(Result):方法间使用的结果类。
消息类(Message):提供给用户界面上的消息时使用的类,设计这个类,是为了统一管理这些消息而已
公用的绘图方法(Drawer)、统一颜色清单(Color)
6.用户控件
之后我会单独说界面UI中自定义控件的绘制方法