- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
抽象工厂模式模型 13.6对象持久性建模 所谓持久数据存储就是即使在系统崩溃的情况下仍能存在的数据存储。 持久对象(Persistent Object)是指需要持久性存储的对象 存储机制主要三类 对象数据库 关系数据库 其他机制:普通文件、XML文件 映射对象 每个持久对象类在关系数据库中定义为一个表,而基本数据类型的对象属性映射为表中的列 对象标识符(Object Identifier,OID)用于在关系数据库中惟一确定对象 继承关系映射 三种基本的解决方法 对整个类层次使用一个数据表 中增加objectType字段区别当前行的职责角色 每个具体类使用一个数据表 每个表代表着一个类,使得每张数据表即包含具体类的属性,又包含继承自父类的属性。 每个类使用一个数据表 父类与子类用同一个OID。子类的表的主键同时作为父类表的外键 程序员表和经理表中的employeeOID除了是表的主键外,同时还是职员表中的外键。 关联和聚合映射 在关系数据库通常使用外键实现类之间关联 映射“一对一”在联时,需要知道关联的方向性 “一对多”的关联,在“多”的一方维护添加外键 如“职员”类与“任务”类之间是一对多的关系,一个职员同时做多个任务,一个任务分配给一个职员完成。这时只要把“职员”表的主键作为外键放入到“任务”表中 实现多对多的关联,需要用到关联表 关联表中包含的属性一般都是与这种关系有关的表中键的组合 持久性框架 持久性框架(persistence framework)就是一组通用的、可复用的、可扩展的一组类,相互协作提供支持持久存储对象的服务,称为持久性服务。 为对象/关系映射服务(Object/Relational Mapping,ORM) 持久性框架将应用程序与其使用和操纵的数据源分离 Hibernate持久性框架 13.7部署建模 部署图描述了处理节点及运行在这些节点之上的构件运行时刻静态配置视图。 部署图中最基本的元素是节点 设备节点 执行环境节点 与系统采用的分布结构策略有很大关系。 根据分布策略确定部署的节点以及节点间连接方式。 进一步分析软件构件应当被分布到那个节点上。 三层架构的系统部署图 * 软件工程 第13章 面向对象设计 面向对象设计 面向对象设计(OOD) 在OOA的模型基础上运用面向对象方法,解决与实现有关的问题,产生一个符合具体实现条件的可编码实现的OOD模型,以驱动系统的实现 OOD是以OOA模型为基础,只需做必须的精化和调整,进一步设计某些细节,并增加与实现相关的部分即可 需要做出许多技术决策:简单的问题如选用的编程语言、数据库和人机交互等, 主要的活动有: 划分子系统 设计系统体系结构 完成对象设计 开发对象间的交互 为系统开发持久模型 13.1划分分析模型 对于一个大而复杂的系统,也要分解成若干较小的子系统,再对每个子系统进行分析求解。 子系统只是个概念实体,可以把子系统当作大的类看待。 子系统结构可以简化类之间的交互模式,从而降低耦合。 通常通过寻找紧耦合的类,划分子系统。 例:ATM子系统划分 13.2系统逻辑架构 系统按照层次分解好处 每个一层次都是独立的有机整体 可以很容易的用新的实现来替换原有层次的实现 可以降低层与层之间的依赖 分层有利于标准化 利于各层逻辑的复用 使系统易于扩展和维护 缺点 会带来级联修改 过多的层次会影响性能 经典三层架构 数据访问层、业务逻辑层和表现层 多层架构 用户界面层实现了系统的主要用界面元素 系统的业务:业务层和控制器层。 持久层实现持久存储 系统类为应用提供支持性技术服务常用对象和子系统 13.3类模型设计 设计关注在于系统具体实现解决方案领域 通过提供设计细节精化分析类 创建一组新的设计类,设计类实现了软件的基础设施以支持业务解决方案, 类演化为不同类型: 用户接口类、业务领域类、过程类、持久类和系统类 良好的设计类特征 完整性和充分性,简单性,高内聚性,低耦合性 接口设计 接口设计有三个重要的元素 用户界面; 和其他系统、设备、网络或其他信息生产者或使用者的外部接口; 各种设计构件之是的内部接口。 属性、方法建模 设计需要决定属性的类型 考虑组合数据项 若属性有初始值或属性可取值的范围,以及对属性的一些约束,设计时也都应该描述出来也要给出。 方法是类的职责 需要指明方法的可见性,方法的返回值,参数以及参数的类型和默认值 方法实现的算法通过注释或文档的形式加以说明 属性访问通常使用setter和getter方法 对象之间可见性设计 可见性是指一个对象看见其他对象或能够发送消息给其他对象,引用其方法的能力 为了使发送消息对象能够向接收消息对象发送消息,发送对象必须具有接收对象的可见性,即发送对象必须拥有对接收对象的某种引用或指针。 可见性通
文档评论(0)