[关闭]
@Chiang 2019-12-30T15:39:57.000000Z 字数 774 阅读 529

设计模式概述

设计模式


在说设计模式之前首先我们得搞清楚点面向对象的一些概念,然后我们一个个看下这些设计模式都是些什么鬼

编程思想

面向过程

面向对象

  • 接口
  • 对象

关系解释

  • 面向对象编程,有以下几样东西无时不刻的接触:接口、类还有对象。这其中,接口是类的原型,一个类必须要遵守其实现的接口;对象则是一个类实例化后的产物,我们称其为一个实例
  • 上文中,我们定下了一个接口 (超能力模组的规范、契约),所有被创造的模组必须遵守该规范,才能被生产。
    其实,这就是 php 中 接口( interface ) 的用处和意义!很多人觉得,为什么 php 需要接口这种东西?难道不是 java 、 C# 之类的语言才有的吗?这么说,只要是一个正常的面向对象编程语言(虽然 php 可以面向过程),都应该具备这一特性。因为一个 对象(object) 本身是由他的模板或者原型 —— 类 (class) ,经过实例化后产生的一个具体事物,而有时候,实现统一种方法且不同功能(或特性)的时候,会存在很多的类(class),这时候就需要有一个契约,让大家编写出可以被随时替换却不会产生影响的接口。这种由编程语言本身提出的硬性规范,会增加更多优秀的特性。
    虽然有些绕,但通过我们接下来的实例,大家会慢慢领会接口带来的好处。

特征

  • 封装
  • 继承
  • 多态

设计模式(三类23种)

创建型

创建对象

  • 工厂
  • 抽象工厂
  • 单例
  • 建造者
  • 原型

结构型

处理类和对象的组合;在软件工程当中结构型设计模式是介绍如何将对象和类组装成比较大的结构并且它可以保持结构的灵活和高效,简化设计的一种设计模式

  • 适配器
  • 桥接
  • 装饰器
  • 组合
  • 外观
  • 享元
  • 代理

行为型

主要描述类和对象的交互,和它对应的职责分配,关键在于类之间的通信和交互

  • 模板方式
  • 命令
  • 迭代器
  • 观察者
  • 中介者
  • 备忘录
  • 解释器
  • 状态
  • 策略
  • 责任链
  • 访问者

参考资料:
swoole微课堂
GitHub

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注