HeadFirst 设计模式 1设计模式入门 策略模式(模拟鸭子)

策略模式:

定义了算法族,分别封装起来,让它们之间可以互相替换, 此模式让算法的变化独立于使用算法的客户。

计原则:

1.找出应用中可能需要变化之处,把它们独立出来, 不要和那些不需要变化的代码混在一起。(把会变化的部分取出并「封装」起来,好让其他部分不会受到影响。)

2.针对接口编程, 而不是针对实现编程。

3.多用组合,少用继承。


2.针对接口编程:

「针对接口编程」真正的意思是「针对超类型(s u p e r t y p e)编程」「针对接口编程」,关键就在多态。利用多态,程序可以针对超类型编程,执行时会根据实际状况执行到真正的行为,不会被绑死在超类型的行为上。「针对超类型编程」这句话,可以更明确地说成「变量的声明类型,应该是超类型,通常是一个抽象类或者是一个接口,如此,只要是具体实现此超类型的类所产生的对象,都可以指定给这个变量;这也意味着,声明类时,不用理会以后执行时的真正对象类型!」

3.多组合少继承


注:在“模拟鸭子”中,使用了策略模式。

要点:

• 知道O O基础,并不足以让你设计出良好的O O系统。
• 良好的O O设计必须具备可复用、可扩充、可维护三个特性。
• 模式可以让我们建造出具有良好O O 设计质量的系统。
• 模式被认为是历经验证的O O设计经验。
• 模式不是代码,而是针对设计问题的通用解决方案。你把它们应用到特定的应用中。

• 模式不是被发明,而是被发现。.
• 大多数的模式和原则,都着眼于软件变化的主题。
• 大多数的模式都允许系统局部改变独立于其他部分。
• 我们常把系统中,会变化的部分抽出来封装。.
• 模式让开发人员之间有共享的语言, 最大化沟通的价值。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值