《JAVA与模式》学习笔记(一)——软件的可维护性与可复用性
来源:互联网 发布:win 80端口被占用 编辑:程序博客网 时间:2024/06/06 18:39
《JAVA与模式》学习笔记(一)
————软件的可维护性与可复用性
作者:孤独萤火虫
对于面向对象的软件系统设计来说,在支持可维护性(Maintainability)的同时,提高系统的可复用性(Reusability)是一个核心问题。
导致一个软件设计的可维护性较低,也就是说随着性能的要求而“腐烂”的真正原因有四个:
1. 过于僵硬(Rigidity):很难在一个软件系统中加入一个新的性能。
2. 过于脆弱(Fragility):修改一个地方会导致其他地方发生故障,一碰就碎。
3. 复用率低(Immobility):导致只能重新写自己的代码,或剪贴源代码以达到复用。
4. 黏度过高(Viscosity):维护时很难保持原始意图和框架,诱使维护它的程序员采取错误维护方案。
软件复用的好处有:
1. 较高的生产效率。
2. 较高的软件质量。
3. 恰当的使用复用可以改善系统的可维护性。
数据的抽象化和继承关系使得概念和定义可以复用,多态性使得实现和应用可以复用,而抽象化和封装可以保持和促进系统的可维护性。
客户端依赖于一个抽象接口,而不是具体的类,这使得一个具有同样接口的新的类可以代替旧的类,而不至于影响到客户端,这是对抽象接口的复用。
以后将要学习的设计原则包括:
· “开-闭”原则(Open-Closed Principle OCP)
· 里氏代换原则(Liskov Substitution Principle LSP)
· 依赖倒转原则(Dependency Inversion Principle DIP)
· 接口隔离原则(Interface Segregation Principle ISP)
· 组合/聚合复用原则(Composition/Aggregation Principle CARP)
· 迪米特法则(Law of Demeter LoD)
系统的可扩展性是由OCP、LSP、DIP和CARP所保证的。
系统的灵活性是由OCP、LoD、ISP所保证的。
系统的可插入性是由OCP、LSP、DIP和CARP所保证的。
- 《JAVA与模式》学习笔记(一)——软件的可维护性与可复用性
- 《java与模式》笔记(一) 软件的可维护性和可复用性
- 《java与模式》-2 软件的可维护性和可复用性
- java与模式笔记(2)——软件设计的目标,可维护性和复用性
- 软件的可维护性与可复用性
- Java与模式读后总结--第3章 软件的可维护性和可复用性
- 软件的可维护性问题知识与分析
- java与模式学习笔记(一)
- [JAVA与模式]学习笔记 一
- Java Web学习笔记2——JavaBean 与 设计模式一(Model 1)
- JAVA学习笔记(一)---单例模式与继承
- 设计模式-开篇:软件的可维护性和可复用性
- 软件的可维护性和可复用性
- 软件的可维护性和可复用性
- JAVA与模式 学习笔记(一) 统一的建模语言UML介绍(1)
- JAVA与模式 学习笔记(一) 统一的建模语言UML介绍(2)
- JAVA与模式 学习笔记(一) 统一的建模语言UML介绍(1
- JAVA与模式 学习笔记(一) 统一的建模语言UML介绍(2
- 超高效提升水晶报表性能之在服务器上分组的好处 - 示例
- 编写高效记录选定公式的策略
- 水晶报表性能优化之道
- 卖 糖 哲 学
- Windows 2003 Server 支持那些 Crystal Decisions 产品?
- 《JAVA与模式》学习笔记(一)——软件的可维护性与可复用性
- 被水晶报表 9 支持并通过 QA 测试的平台!
- Crystal Reports EBook 大全
- Crystal Decisions 官方新闻、支持、社区、论坛等资源大全
- JM8.5中的7种宏块模式问题
- Crystal Reports 产品家族
- 完美汉化 eclipse 3.0.1 的全过程
- JM8.5中的多参考帧问题
- Crystal Report 其他帮助文件