设计的目标,摘自JAVA与模式第三章


  设计的目标:

1.       可扩展性

2.       灵活性

3.       可插入性

 

系统的可复用性:

       复用性的重要性:

1.       较高的生产效率

2.       较高的软件质量

3.       恰当使用复用可以改善系统的可维护性

 

传统的复用和面向对象的系统设计中复用的区别

       1.传统的复用:代码的剪贴复用;算法的复用;数据结构的复用。

2.面向对象的设计的复用:在OO中数据的抽象化、继承、封装和多态是几个重要的语言特性,这些特性使得一个系统可以在更高的层次上提供可复用性。

 数据的抽象化和继承关系使得概念和定义可以复用;

  多态性使得实现和应用可以复用;

  抽象化和封装可以保持和促进系统的可维护性。

      

       可复用和可维护性的关系

1.       适当的使用复用,可以提高可维护性,即支持可维护性的复用,就是在保持甚至提高系统的可维护性的同时,实现系统的复用。

2.       适当提高系统的可复用性可以提高系统的可扩展性:系统的可扩展性由“开-闭”原则、里氏代换原则、依赖倒转原则和组合/聚合复用原则所保证。

3.       适当提高系统的可复用性,可以提高系统的灵活性。系统的灵活性由“开-闭”原则、迪米特法则、接口隔离原则所保证的。

4.       适当提高系统的可复用性,可以提高系统的可插入性。系统的可插入性由“开-闭”原则、里氏代换原则、组合/聚合复用原则和依赖倒转原则所保证。

 

 

复用原则:

1.       “开-闭”原则:OCP

2.       里氏代换原则:LSP

3.       依赖倒转原则:DIP

4.       接口隔离原则:ISP

5.       组合/聚合复用原则:CARP

6.       迪米特法则:LoD


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值