13.2.2 设计持久化实体类

13.2.2 设计持久化实体类

面向对象分析,是指根据系统需求提取应用中的对象,将这些对象抽象成类,再抽取出需要持久化保存的类,这些需要持久化保存的类就是持久化对象(PO)。本系统设计了6个持久化类。具体包括:

  • User。对应用户,包括用户编号、用户名、登录名、密码、状态及建档日期等属性
  • Dept。对应部门,包括部门编号、部门名称及详细描述等属性。
  • Job。对应职位,包括职位编号、职位名称及详细描述等属性。
  • Employee。对应员工,包括员工编号、员工名称、身份证号码、地址、邮政编码、电话号码、手机号码、qq号码、邮箱、性别、政治面貌、生日、民族、学历、所学专业爱好、备注及建档日期等属性。
  • Notice。对应公告,包括公告编号、公告标题、公告内容、发布日期等属性。
  • Document。对应文件,包括文件编号、文件标题、文件名、文件描述、上传时间等属性。
  • 在领域模式的设计中,这6个PO对象也应该包含系统的业务逻辑方法,也就是使用领域模型对象来为它们建模;但本应用不打算为它们提供任何业务逻辑方法,而是将所有的业务逻辑方法放到业务逻辑组件中实现。

将所有的业务逻辑方法放到业务逻辑组件中实现,这样系统中的领域对象显得十分简洁,它们都是单纯的数据类,不需要考虑到底应该包含哪些业务逻辑方法,因此开发起来非常便捷;而系统的所有业务逻辑都由业务逻辑组件负责实现,这样可以将业务逻辑的变化限制在业务逻辑层内,从而避免扩散到其他两个层,因此降低了系统的开发难度。
客观世界中的对象不是孤立存在的,以上6个PO类也不是孤立存在的,它们之间存在复杂的关联关系,分析关联关系是面向对象分析的必要步骤。
这6个PO的关系如下:
DeptEmployee之间存在1对N的关系,即一个Dept可以有多个Employee
EmployeeDept之间存在N对1的关系,即一个Employee只属于一个Dept
EmployeeJob之间存在N对1的关系,即一个Employee只能有一个Job
UserNotice之间存在1对N的关系,即一个User可以发布多个Notice
UserDocument之间存在1对N的关系,即一个User可以上传多个Document