第十章将模型映射到代码学案.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 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

文档评论(0)

***** + 关注
实名认证
内容提供者

我是自由职业者,从事文档的创作工作。

1亿VIP精品文档

相关文档