2、面向对象设计:原则、模式与实践

面向对象设计:原则、模式与实践

1. 面向对象设计的目标与挑战

在软件开发中,设计的核心目标是降低应用程序的成本,确保当下和未来都具有成本效益。由于设计原则相互交织,且每个问题的时间框架都在不断变化,设计挑战往往有众多可能的解决方案。这就要求开发者综合考虑应用程序的需求、设计方案的成本和收益,从而设计出合适的代码结构。

设计时考虑未来并非需要超能力。真正的设计并非预测未知需求并提前实现,而是接受未来会有变化,保留应对变化的选择。设计的目的是为了后期更好地设计,主要目标是降低变更成本。

2. 设计的工具

设计并非遵循固定规则,而是在分支路径上探索,早期的选择会关闭一些选项,同时开启其他选项。面向对象设计的工具主要包括原则和模式。

2.1 设计原则

知名的SOLID原则包括单一职责、开闭原则、里氏替换、接口隔离和依赖倒置。此外,还有DRY(不要重复自己)和迪米特法则等。这些原则源于早期面向对象程序员的编码经验,他们发现某些代码结构使工作更轻松,而另一些则相反。

后来,学者们尝试量化代码的“优劣”。20世纪90年代,Chidamber和Kemerer以及Basili对面向对象应用程序进行量化研究,发现使用这些技术与高质量代码有明确关联。不过,早期研究的应用程序规模较小,代码可能不代表真实世界的面向对象应用。但2001年,Laing和Coleman对NASA戈达德太空飞行中心的应用程序进行研究,进一步证实了设计原则的重要性。

以下是部分常见设计原则的简单介绍:
| 原则名称 | 描述 |
| — | — |
| 单一职责原则 | 一个类应该只有一个引起

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值