- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
导言
?如果设计模式的选择和类接口规格说明工作做的足够仔
细,那么现存大部分设计问题可以解决,但是将模型映
射到代码时会产生很多问题(违反契约,随意添加参数,
交付压力等),本章介绍一些将模型映射到代码的方法,
提高系统质量
?对象设计活动图
映射概述
?优化类模型
? 减少关联重数加快查询速度,增加冗余关联提高有效性
?将关联映射到集合上
? 将关联映射到源代码上
?将契约映射到异常上
? 描述违反契约的操作行为
?将类模型映射到存储模式上
? 选择存储策略,将类模型映射到存储模式上
映射的概念
?转换的类型
? 模型转换:优化原始模型,如将单一属性转化为类(将
地址字符串转化为包含街道,邮编,城市,国家等属性
的类)
? 重构:类似模型转换,代码级别的转换
映射的概念
?正向工程:产生与对象模型对应的源代码模板
?逆向工程:产生与源代码对应的对象模型,主要在系
统设计方案丢失时使用
模型转换
?模型转换作用于某一模型上,以产生另一模型,其目
的是简化或优化原有模型,转换可能增加,删除,修
改类,方法,以及属性。需同步更新对象设计模型。
重构
?重构是对源代码的转换,在不影响系统行为的前提下,
提高代码的可读性和可修改性
?重构好处
? 容易阅读
? 所有逻辑都只在唯一地点指定
? 新的改动不会危及现有的行为
? 简单的表达条件逻辑
? 重构征兆
? 三次法则:如果你重复拷贝某段代码超过3次,考虑重构
? 数量法则:如果某个方法的实现超过20行,考虑重构
? 重构时机
? 在添加新功能时进行重构.
? 在修改bug时进行重构
? 在代码复审时进行重构.
? 什么时候不易进行重构
? 现有的程序无法运行,此时应该是重写程序,不是重构程序
? 到了最后的交付期限
?重构与设计
? 重构与设计是互补的,程序应该是先设计,后编码。
? 设计上的不足可以用重构来弥补,但不应该因为有重构
而忽视设计。
? 如果能很容易的通过重构来适应需求的变化,那么就不
必过度的设计,当需求改变时再重构代码。
第一次重构前 第一次重构后
public?class?Student{ public?class?User{
private?String?email; protect?String?email;
// }
} public?class?Student?extends?User{
//
public?class?Teacher{ }
private?String?email; public?class?Teacher?extends?User{
// //
} }
第二次重构前 第二次重构后
public?class?User{ public?class?User{
protect?String?email;
private?String?email;
}
public?User(String?email){
public?class?Student?extends?User{
this.email=email;
public?Student?(Strin
您可能关注的文档
最近下载
- 生理性房室传导阻滞_刘仁光.pdf VIP
- 农村自来水厂建设工程分部分项施工方案和技术措施.pdf VIP
- (人教A版数学选择性必修一)2025年秋季学期讲义第12讲第一章空间向量与立体几何测评卷(基础卷)(学生版+教师版).docx VIP
- 《反恐怖防范管理规范 第2部分:医院》(DB22 T 3687.2-2025).pdf VIP
- 计算机视觉教程 作者 章毓晋 CCV04.ppt VIP
- 化工原理第四版谭天恩习题答案解析.pdf VIP
- 2025年高考物理(山东卷)试卷评析及2026高考备考策略 课件.pptx
- 人教版新版一年级语文上册课程纲要.pdf VIP
- 2025年广州地铁集团公司经营方针和战略.docx
- 2025年职业技能无人机驾驶员-民用无人机驾驶员理论知识参考题库含答案解析(5卷).docx VIP
文档评论(0)