设计模式之总述篇

以下是对《Head First 设计模式》中提到的OO原则和设计模式的总结。

OO原则和设计模式的联系:模式可以让我们建造出具有良好OO设计质量的系统。模式被认为是历经验证的OO设计经验。

OO设计原则:
 1.封装变化:找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起;
 
2.多用组合,少用继承;良好的OO设计必须具备可复用、可扩充、可维护三个特性。

 3.针对接口编程,而不是针对实现编程;“针对接口编程”真正的意思是“针对超类型(supertype)编程”。(使用抽象超类就可以使用动态了,这也是“针对接口编程”的用意所在。)
 4.为了交互对象之间的松耦合设计而努力;松耦合之所以能让我们建立有弹性的OO系统,能够应付变化,是因为对象之间的互相依赖降到了最低。
 5.类应该对扩展开放,对修改关闭
 6.要依赖抽象,不要依赖具体类;这个原则说明了:不能让高层组件依赖低层组件,而且,不管高层或低层组件,都应该依赖于抽象。变量不可以持有具体类的引用;不要让类派生自具体类;不要覆盖基类中已实现的方法。
 7.最少知识原则:只是和你的密友谈话;这个原则希望我们在设计中,不要让太多的类耦合在一起,免得修改系统中的一部分,会影响到其他部分。
 8.好莱坞原则:别调用我(高层组件),我们会调用你们(低层组件);好莱坞原则可以给我们一种防止“依赖腐败”的方法。让低层组件能够被挂钩进计算中,而且又不会让高层组件依赖低层组件。
 9.一个类应该只有一个引起变化的原因;类的每个责任都有改变的潜在区域,超过一个责任,意味着超过一个改变的区域。这个原则告诉我们,尽量让每个类保持单一责任。当一个模块或一个类被设计成只支持一组相关的功能时,我们说它具有高内聚(内聚用来度量一个类或模块紧密地达到单一目的或责任)。

常见设计模式的简单描述:
装饰者模式             包装一个对象,以提供新的行为
状态模式                 封装了基于状态的行为,并使用委托在行为之间切换
迭代器模式             在对象的集合之中游走,而不暴露集合的实现
外观模式                 简化一群类的接口
策略模式                 封装可以互换的行为,并使用委托来决定要使用哪一个
代理模式                 包装对象,以控制对此对象的访问
工厂方法模式          由子类决定要创建的具体类是哪一个
适配器模式              封装对象,并提供不同的接口
观察者模式              让对象能够在状态改变时被通知
模板方法模式          由子类决定如何实现一个算法中的步骤
组合模式                 客户用一致的方式处理对象集合和单个对象
单件模式                 确保有且只有一个对象被创建
抽象工厂模式          允许客户创建对象的家族,而无需指定他们的具体类
命令模式                 封装请求成为对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值