面向对象软件设计的目标、原则和难点

 3.1 软件设计的目标
在设计时首要考虑的不适形象进度,而是系统的可维护性:
(1)可扩展性
(2)可修改性
(3)可替换性

3.2 “开-闭”原则
“开-闭”原则指软件实体应当对扩展开放,对修改关闭。
即软件实体应该在不修改的前提下扩展。
设计模式的应用就是使软件的结构在某种程度上满足“开-闭”原则。

3.3 实现“开-闭”原则
3.3.1 面向接口编程
面向接口编程的优势:
(1)降低程序个部分之间的耦合性,使程序模块互换成为可能。这样客户无须知道自己使用的对象类型,只要知道对象有客户所需要的接口即可。而且客户也不需要知道对象是如何实现的,只要知道定义接口的抽象类。
(2)使软件个部分便于单元测试,通过编制与接口已知的模拟类(Mock),可以很容易实现软件个部分的单元测试。从而提高软件的可靠性,降低错误率。
(3)易于实现软件模块的互换,软件升级时可以只部署发生变化的部分,而不会影响其它部分。

对于设计模来说,创建型的模式的产生只是面向接口编程的必然结果。面向接口编程要求使用对象的客户不了解对象的具体模型,客户只能通过一个负责实例化对象的对象--我们称之为“工厂”--来实例化对象,而工厂对象可以在应用初始化时集中进行实例化或者在集中的模块中进行。

3.3.2 封装变化
程序中任何可能发生变化的部分都可以封装成为对象,包括命令、事件、属性、算法和状态等。封装变化是实现“开-闭”原则的重要手段,也是在设计中发现对象的重要途径。因此在分析需求时,一定要注意什么是不变化的,什么是可能变化的,以及这些可能的变化会对封装

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值