3、面向对象编程中的类设计与单一职责原则

面向对象编程中的类设计与单一职责原则

1. 面向对象语言的开放性与应用设计挑战

面向对象(OO)语言具有开放性,它不会将你局限于一小部分内置类型和预定义操作,你可以创造自己全新的类型。每个OO应用逐渐会成为一种专门针对你所在领域的独特编程语言。

然而,一个应用如果能长期存在并取得成功,它最大的问题将是应对变化。合理安排代码以有效适应变化是设计的关键。设计中最明显的元素是原则和模式,但即便正确应用原则和恰当地使用模式,也不能保证创建出易于更改的应用。

OO指标可以揭示一个应用遵循面向对象设计(OOD)原则的程度。糟糕的指标强烈暗示未来会有困难,但良好的指标作用不大。一个做错事的设计可能会产生很好的指标,但更改起来可能仍然代价高昂。

设计的诀窍在于理解设计理论,并在正确的时间、以正确的方式应用这些理论。设计依赖于你将理论转化为实践的能力。理论和实践存在差异,理论上两者没有区别,但在实践中,情况并非如此。实践需要面对现实世界中的变化、混乱和不确定性,需要做出各种艰难的选择。

2. 从类开始设计应用

在面向对象系统中,消息是基础,但最明显的组织结构是类。消息是设计的核心,但由于类很明显,我们可以从小处着手,专注于如何决定类中应该包含什么。

在设计类时,我们会面临很多问题,比如应该有哪些类、有多少类、类要实现什么行为、类对其他类了解多少、类应该暴露多少自身信息等。这些问题可能会让人不知所措,但在这个阶段,我们首先要保持简单。我们的目标是使用类来建模应用,使其既能满足当前的需求,又便于日后更改。

让应用立即运行起来并不难,难的是创建一个易于更改的应用。这需要知识、技能和一点艺术创造力。幸运

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值