美文网首页
软件的可维护性和可复用性

软件的可维护性和可复用性

作者: NoNothing | 来源:发表于2020-05-06 23:55 被阅读0次

1.如何同时提高一个软件系统的可维护性和可复用性,是面向对象的设计要解决的核心问题。
2.诸如“开-闭”原则,这样的面向对象的设计原则就是这些在设计模式中不断地显现出来的共同思想原则,它们是隐藏在设计模式背后的、比设计模式本身更加基本和单纯的设计思想。
3.一个家用电器的维护,只是保持或者恢复电器的某种操作性能所需要的时间和资源。
一个软件的维护则不同,它不仅包括清除错误和缺陷,而且还要包括对已有性能的扩充,以满足新的设计要求。一个维护中的软件是一个不断再生的软件,就像一个“不断带来新礼物的礼物”。软件的维护就是软件的再生。一个好的软件设计,必须能够允许新的设计要求以较为容易和平稳的方式加入到已有的系统中去,从而使这个系统能够不断地焕发出青春。一个可维护性好的系统,应当允许维护工作能够以容易、准确、安全和经济的形式进行。
4.导致一个软件设计的可维护性较低,也就是说会随着性能要求的变化而“腐烂”的真正原因有四个:过于僵硬、过于脆弱、复用率低、粘度过高。
5.一个好的系统设计应该有如下的性质:可扩展性、灵活性、可插入性。怎样才能做出一个符合这三项要求的设计?关键是恰当地提高软件的可维护性和可复用性。
6.软件的复用的好处有:第一,较高的生产效率;第二,较高的软件质量;第三,恰当使用复用可以改善系统的可维护性。
7.传统的复用:代码的剪贴复用、算法的复用、数据结构的复用。传统的复用方案的一个致命缺陷就是复用常常是以破坏可维护性为代价的。
8.可维护性与可复用性是有共同性的两个独立特性,它们就像是两只同时在奔跑的兔子。
9.面向对象设计的复用:面向对象语言中,数据的抽象化、继承、封装和多态性是几项最重要的语言特性。这些特性使得一个系统可以更高的层次上提供可复用性。数据的抽象化和继承关系使得概念和定义可以复用;多态性使得实现和应用可以复用;而抽象化和封装可以保持和促进系统的可维护性。这样一来,复用的焦点不再集中在函数和算法等具体的实现细节上,而是集中在最重要的含有宏观商业逻辑的抽象层次上。复用的焦点发生了“倒转”。抽象层次是比这些细节更值得强调的复用焦点,因为它们是在提高复用性的同时,保持和提高可维护性的关键。
10.在面向对象的设计里面,可维护性复用是以设计原则和设计模式为基础的。
11.设计原则对可维护性的支持:系统的扩展性是由“开-闭”原则、里氏代换原则、依赖倒转原则和组合/聚合复用原则所保证的。系统的灵活性是由“开-闭”原则、迪米特法则、接口隔离原则所保证的。系统的可插入性是由“开-闭”原则、里氏代换原则、组合/聚合复用原则以及依赖倒转原则保证的。
12.三类设计模式:创建型模式、结构型模式、行为型模式。

相关文章

  • 面向对象的7大设计原则

    在面向对象的软件系统设计中,可维护性,可复用性是衡量一个软件系统是否健壮的重要指标。而可维护性和可复用性是可以遵从...

  • 软件设计的七大原则

    软件的可维护性和可复用性 知名软件大师Robert C.Martin认为一个可维护性(Maintainabilit...

  • 01 六大原则概述

    核心问题   如何同时提高一个软件系统的可维护性和可复用性

  • 软件的可维护性和可复用性

    1.如何同时提高一个软件系统的可维护性和可复用性,是面向对象的设计要解决的核心问题。2.诸如“开-闭”原则,这样的...

  • 设计模式原则(SOLID)

    软件设计应该按照某些原则,这样子能让软件的可复用性和可维护性更强。 单一职责原则 (Single responsi...

  • 软件设计七大原则

    软件设计中,怎样提高系统的可维护性和可复用性是面向对象设计需要解决的核心问题之一。面向对象设计原则是实现可维护性和...

  • 面向对象设计原则

    ​ 前言:对于面向对象软件系统的设计而言,如何同时提高一个软件系统的可维护性和可复用性是面向对象设计需要解决的核...

  • 面向对象的七大设计原则

    在开发中,为了提高系统的可维护性和可复用性,增加软件的可扩展性和灵活性,要尽量遵循以下7条原则来进行开发。 开闭原...

  • 面向对象六大原则

    指导思想 可维护性Maintainbility修改功能,需要改动的地方越少,可维护性越好 可复用性Reusabil...

  • 高质量的代码

    高质量的代码具有:可维护性、可读性、可扩展性、灵活性、简洁性(简单、复杂)、可复用性、可测试性。 可维护性(mai...

网友评论

      本文标题:软件的可维护性和可复用性

      本文链接:https://www.haomeiwen.com/subject/jzjnghtx.html