软件工程第10章 面向对象实现.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
10.2.1 提高可重用性 2.减小方法的规模 应该减小方法的规模,如果某个方法规模过大(代码长度超过一页纸可能就太大了),则应该把它分解成几个更小的方法。 10.2.1 提高可重用性 3.保持方法的一致性 保持方法的一致性,有助于实现代码重用。一般来说,功能相似的方法应该有一致的名字、参数特征(包括参数个数、类型和次序)、返回值类型、使用条件、出错条件等。 10.2.1 提高可重用性 4.把策略与实现分开 从所完成的功能看,有两种不同类型的方法:一类方法负责做出决策,提供变元,并且管理全局资源,可称为策略方法;另一类方法负责完成具体的操作,但却并不做出是否执行这个操作的决定,也不知道为什么执行这个操作,可称为实现方法。 10.2.1 提高可重用性 策略方法应该检查系统运行状态,并处理出错情况,它们并不直接完成计算或实现复杂的算法。策略方法通常紧密依赖于具体应用,这类方法比较容易编写,也比较容易理解。 10.2.1 提高可重用性 5.全面覆盖 如果输入条件的各种组合都可能出现,则应该针对所有组合写出方法,而不能仅仅针对当前用到的组合情况写方法。例如,如果在当前应用中需要写一个方法,以获取表中第一个元素,则至少还应该为获取表中最后一个元素再写一个方法。 10.2.1 提高可重用性 6.尽量不使用全局信息 应该尽量降低方法与外界的耦合程度,不使用全局信息是降低耦合度的一项主要措施。 10.2.1 提高可重用性 7.利用继承机制 在面向对象程序中,使用继承机制是实现共享和提高重用程度的主要途径。 10.2.1 提高可重用性 (1)调用子过程 最简单的做法是把公共的代码分离出来,构成一个被其他方法调用的公用方法。可以在基类中定义这个公用方法,供派生类中的方法调用。 10.2.1 提高可重用性 (2)分解因子 有时提高相似类代码可重用性的一个有效途径,是从不同类的相似方法中分解出不同的“因子”(即不同的代码),把余下的代码作为公用方法中的公共代码,把分解出的因子作为名字相同算法不同的方法,放在不同类中定义,并被这个公用方法调用。 10.2.1 提高可重用性 使用这种途径通常额外定义一个抽象基类,并在这个抽象基类中定义公用方法。把这种途径与面向对象语言提供的多态性机制结合起来,让派生类继承抽象基类中定义的公用方法,可以明显降低为增添新子类而需付出的工作量,因为只需在新子类中编写其特有的代码。 10.2.1 提高可重用性 (3)把代码封装在类中 程序员往往希望重用用其他方法编写的、解决同一类应用问题的程序代码。重用这类代码的一个比较安全的途径,是把被重用的代码封装在类中。 10.2.2 提高可扩充性 1.封装实现策略 应该把类的实现策略(包括描述属性的数据结构、修改属性的算法等)封装起来,对外只提供公有的接口,否则将降低今后修改数据结构或算法的自由度。 10.2.2 提高可扩充性 2.慎用公有方法 公有方法是向公众公布的接口。为提高可修改性,降低维护成本,必须精心选择和定义公有方法。私有方法是仅在类内使用的方法,通常利用私有方法来实现公有方法。删除、增加或修改私有方法所涉及的面要窄得多,因此代价也比较低。 10.2.2 提高可扩充性 3.不要用一个方法遍历多条关联链 一个方法应该只包含对象模型中的有限内容。违反这条准则将导致方法过分复杂,既不易理解,也不易修改扩充。 10.2.2 提高可扩充性 4.避免使用多分支语句 一般说来,可以利用DO-CASE语句测试对象的内部状态,而不要用来根据对象类型选择应有的行为,否则在增添新类时将不得不修改原有的代码。应该合理地利用多态性机制,根据对象当前类型,自动决定应有的行为。 10.2.3 提高健壮性 程序员在编写实现方法的代码时,既应该考虑效率,也应该考虑健壮性。通常需要在健壮性与效率之间做出适当的折中。必须认识到,对于任何一个实用软件来说,健壮性都是不可忽略的质量指标。为提高健壮性应该遵守以下几条准则。 10.2.3 提高健壮性 1.具备处理用户操作错误的能力 软件系统必须具有处理用户操作错误的能力。当用户在输入数据时发生错误,不应该引起程序运行中断,更不应该造成“死机”。任何一个接收用户输入数据的方法,对其接收到的数据必须进行检查,即使发现了非常严重的错误,也应该给出恰当的提示信息,并准备再次接收用户的输入。 10.2.3 提高健壮性 2.检查参数的合法性 对公有方法,尤其应该着重检查其参数的合法性,因为用户在使用公有方法时可能违反参数的约

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档