二十三种设计模式的自我理解----什么是设计模式

本文深入解析设计模式的起源、作用,涵盖创建、结构性与行为模式,以及七大原则,教你如何利用设计模式提高代码质量与工程实践

一。了解设计模式

1.软件设计模式的背景

软件设计模式的提出并不是在软件设计中,而是在建筑专业中出现的名词--

所以软件设计模式来源于建筑专业

所以本专业赋予我们的名称为软件工程师

软件设计模式(Software Design Pattern),简称设计模式

设计模式是软件工程的基石

 2.设计模式的作用

  1. 提高代码的可重用性
  2. 代码的可读性
  3. 代码的可靠性

3.设计模式的意义

设计模式的本质:面向对象设计原则的实际运用,是对类的封装性、继承性和多态性以及类的关联关系和组合关系的充分理解。

面向对象的三个特性:封装性,继承性,多态性

面向对象的三个特征:封装,继承,多态

封装:把对象进行封装,对象属性设置为私有属性,对外提供get(),set()方法,使用get()和set()对 对象的属性值进行更改

继承:继承发生两个类之间的。A类继承另外B类,则A类具有B类的所有属性和方法,还可以具备B类没有的属性和方法

多态:是在继承的基础上,一个父类对象能产生多个不同子类对象,根据这些子类对象的不同可以具备不同的方法,也就是说表现出了不同的形态即多态

  • 提高程序员的思维能力、编程能力和设计能力
  • 标准化程序设计、工程化代码编制
  • 提高开发效率,缩短开发周期
  • 代码可重用性高、可读性强、可靠性高、灵活性好、可维护性强(大家都知晓的方法,不得谁看谁懂)

三。设计模式三大类

  1.  创建模式(处理对象创建的设计模式,试图根据实际情况使用合适的方式创建对象
  2. 结构性模式(采用继承机制来组合接口或实现;有助于多个独立开发的类库协同工作;
  3. 行为模式(涉及算法和对象间职责的分配;不仅描述对象或类的模式,还描述它们之前的通信模式;行为类模式使用继承机制在类间分配行为,行为对象模式使用对象复合而不是继承

创建模式分为

  • 工厂化模式
  • 抽象模式
  • 单例模式
  • 建造者模式(生成器)
  • 原型模式

结构性模式

  • 适配器模式
  • 装饰器模式
  • 代理模式
  • 外观模式
  • 桥接模式
  • 组合模式
  • 亨元模式

行为模式

  • 观察者模式
  • 模板方法模式
  • 策略模式
  • 狄代子模式
  • 责任模式
  • 命令模式
  • 备忘录模式
  • 状态模式
  • 方向者模式
  • 中介者模式
  • 解释器模式

四。设计模型七大原则

1.单一原则(SRP):一个类(方法)只做一件事

2.开放-封闭原则(OCP):软件实体可以扩展,但是不能修改

3.依赖倒转(DIP):高层模块不应该依赖底层,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象。核心思想:面向接口编程,不要面向实现编程

4.里氏代换原则(LSP):子类能够替换父类,子类可以扩展父类的功能,但不能改变原有的功能

5.接口隔离原则(ISP):尽量将臃肿庞大的接口拆分成更小的和更具体的接口,让接口只包含客户感兴趣的功能(方法)

6.迪米特法则(LoD):如果两个累没有直接通信,那么这两个类不应当发生直接的相互作用,如果其中一个类可以调用另一个类的某一个方法。可通过第三着发起这个调用

7.合成复用原则(CRAP):尽量先使用组合或者聚会等关联关系来实现,其次才考虑使用继承关系来实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值