一。了解设计模式
1.软件设计模式的背景
软件设计模式的提出并不是在软件设计中,而是在建筑专业中出现的名词--
所以软件设计模式来源于建筑专业
所以本专业赋予我们的名称为软件工程师
软件设计模式(Software Design Pattern),简称设计模式
设计模式是软件工程的基石
2.设计模式的作用
- 提高代码的可重用性
- 代码的可读性
- 代码的可靠性
3.设计模式的意义
设计模式的本质:面向对象设计原则的实际运用,是对类的封装性、继承性和多态性以及类的关联关系和组合关系的充分理解。
面向对象的三个特性:封装性,继承性,多态性
面向对象的三个特征:封装,继承,多态
封装:把对象进行封装,对象属性设置为私有属性,对外提供get(),set()方法,使用get()和set()对 对象的属性值进行更改
继承:继承发生两个类之间的。A类继承另外B类,则A类具有B类的所有属性和方法,还可以具备B类没有的属性和方法
多态:是在继承的基础上,一个父类对象能产生多个不同子类对象,根据这些子类对象的不同可以具备不同的方法,也就是说表现出了不同的形态即多态
- 提高程序员的思维能力、编程能力和设计能力
- 标准化程序设计、工程化代码编制
- 提高开发效率,缩短开发周期
- 代码可重用性高、可读性强、可靠性高、灵活性好、可维护性强(大家都知晓的方法,不得谁看谁懂)
三。设计模式三大类
- 创建模式(处理对象创建的设计模式,试图根据实际情况使用合适的方式创建对象)
- 结构性模式(采用继承机制来组合接口或实现;有助于多个独立开发的类库协同工作;)
- 行为模式(涉及算法和对象间职责的分配;不仅描述对象或类的模式,还描述它们之前的通信模式;行为类模式使用继承机制在类间分配行为,行为对象模式使用对象复合而不是继承)
创建模式分为
- 工厂化模式
- 抽象模式
- 单例模式
- 建造者模式(生成器)
- 原型模式
结构性模式
- 适配器模式
- 装饰器模式
- 代理模式
- 外观模式
- 桥接模式
- 组合模式
- 亨元模式
行为模式
- 观察者模式
- 模板方法模式
- 策略模式
- 狄代子模式
- 责任模式
- 命令模式
- 备忘录模式
- 状态模式
- 方向者模式
- 中介者模式
- 解释器模式
四。设计模型七大原则
1.单一原则(SRP):一个类(方法)只做一件事
2.开放-封闭原则(OCP):软件实体可以扩展,但是不能修改
3.依赖倒转(DIP):高层模块不应该依赖底层,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象。核心思想:面向接口编程,不要面向实现编程
4.里氏代换原则(LSP):子类能够替换父类,子类可以扩展父类的功能,但不能改变原有的功能
5.接口隔离原则(ISP):尽量将臃肿庞大的接口拆分成更小的和更具体的接口,让接口只包含客户感兴趣的功能(方法)
6.迪米特法则(LoD):如果两个累没有直接通信,那么这两个类不应当发生直接的相互作用,如果其中一个类可以调用另一个类的某一个方法。可通过第三着发起这个调用
7.合成复用原则(CRAP):尽量先使用组合或者聚会等关联关系来实现,其次才考虑使用继承关系来实现