13.2.2 设计持久化实体类
13.2.2 设计持久化实体类
面向对象分析,是指根据系统需求提取应用中的对象,将这些对象抽象成类,再抽取出需要持久化保存的类,这些需要持久化保存的类就是持久化对象(PO
)。本系统设计了6个持久化类。具体包括:
User
。对应用户,包括用户编号、用户名、登录名、密码、状态及建档日期等属性Dept
。对应部门,包括部门编号、部门名称及详细描述等属性。Job
。对应职位,包括职位编号、职位名称及详细描述等属性。Employee
。对应员工,包括员工编号、员工名称、身份证号码、地址、邮政编码、电话号码、手机号码、qq号码、邮箱、性别、政治面貌、生日、民族、学历、所学专业爱好、备注及建档日期等属性。Notice
。对应公告,包括公告编号、公告标题、公告内容、发布日期等属性。Document
。对应文件,包括文件编号、文件标题、文件名、文件描述、上传时间等属性。- 在领域模式的设计中,这6个
PO
对象也应该包含系统的业务逻辑方法,也就是使用领域模型对象来为它们建模;但本应用不打算为它们提供任何业务逻辑方法,而是将所有的业务逻辑方法放到业务逻辑组件中实现。
将所有的业务逻辑方法放到业务逻辑组件中实现,这样系统中的领域对象显得十分简洁,它们都是单纯的数据类,不需要考虑到底应该包含哪些业务逻辑方法,因此开发起来非常便捷;而系统的所有业务逻辑都由业务逻辑组件负责实现,这样可以将业务逻辑的变化限制在业务逻辑层内,从而避免扩散到其他两个层,因此降低了系统的开发难度。
客观世界中的对象不是孤立存在的,以上6个PO
类也不是孤立存在的,它们之间存在复杂的关联关系,分析关联关系是面向对象分析的必要步骤。
这6个PO
的关系如下:Dept
和Employee
之间存在1对N的关系,即一个Dept
可以有多个Employee
。Employee
和Dept
之间存在N对1的关系,即一个Employee
只属于一个Dept
。Employee
和Job
之间存在N对1的关系,即一个Employee
只能有一个Job
。User
和Notice
之间存在1对N的关系,即一个User
可以发布多个Notice
。User
和Document
之间存在1对N的关系,即一个User
可以上传多个Document
。