设计模式

1、面向对象
对象
应用程序内的实体

定义对象的属性(数据成员)和行为(成员函数)
构造函数:初始化对象状态
模板,利于复用
方法
表示对象的行为
处理属性,实现功能

2、面向对象的主要概念
封装:
数据和方法的隐藏
多态:
对象根据输入参数提供方法的不同实现
不同类型的对象可以使用相同的接口
继承:
不同类的对象之间建立层次结构
抽象:
客户端不需要知道内部实现
组合:
无需通过继承就可以实现基本功能的跨模块使用

3、面向对象的设计原则
开放封闭
开放扩展,封闭修改,向后兼容
控制反转
细节依赖于抽象
接口隔离
客户端不应该依赖于他们不需要使用的接口
单一职责
类的职责单一,引起类变化的原因单一
替换原则
派生类必须能够完全取代基类

4、设计模式概念
解决特定问题的解决方案
从别人的成功中学习

5、模式分类
创建型
结构型
行为型