2、探索面向对象设计模式的奥秘

探索面向对象设计模式的奥秘

1. 面向对象设计的挑战与设计模式的诞生

在软件开发领域,设计面向对象的软件绝非易事,而设计可复用的面向对象软件更是难上加难。开发者需要精准地找出相关对象,以合适的粒度将它们划分为类,明确类的接口和继承层次结构,并建立起它们之间的关键关系。设计既要贴合当前问题,又要具备足够的通用性,以应对未来的问题和需求,同时还要尽量避免重新设计。

经验丰富的面向对象设计师深知,初次设计出可复用且灵活的软件几乎是不可能的。他们通常会多次尝试复用设计,并在每次使用时进行修改。然而,新手设计师往往会被众多的选择弄得不知所措,甚至会退而采用之前使用过的非面向对象技术。那么,经验丰富的设计师究竟掌握了哪些新手所不知道的诀窍呢?

专家设计师明白,不必每次都从头开始解决问题,而是会复用过去行之有效的解决方案。一旦找到好的解决方案,他们就会反复使用。这种经验正是他们成为专家的关键因素之一。因此,在许多面向对象系统中,我们会发现反复出现的类和对象交互模式。这些模式能够解决特定的设计问题,使面向对象设计更加灵活、优雅且可复用。设计师可以基于以往的经验,将这些模式应用到新的设计中,从而避免重新探索。

为了更好地理解这一点,我们可以做一个类比。小说家和剧作家很少从头开始设计情节,而是会遵循诸如“悲剧英雄”(如《麦克白》《哈姆雷特》)或“浪漫小说”等模式。同样,面向对象设计师也会遵循“用对象表示状态”“装饰对象以轻松添加/移除功能”等模式。一旦掌握了这些模式,许多设计决策就会自然而然地产生。

我们都清楚设计经验的价值,但在软件设计中,我们往往没有很好地记录这些经验以供他人使用。为了改变这一现状,我们将面向对象软件设计的经验记录为设计模式。每个设计模式都

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值