文章插图
文章插图
设计模式不仅代表着更快开发健壮软件的有用方法,而且还提供了以友好的术语封装大型理念的方法 。例如,您可以说您正在编写一个提供松散耦合的消息传递系统,也可以说你正在编写名称为观察者的模式 。下面我们就来看看PHP有哪些设计模式?
策略模式
策略模式是对象的行为模式,用意是对一组算法的封装 。动态的选择需要的算法并使用 。
策略模式指的是程序中涉及决策控制的一种模式 。策略模式功能非常强大,因为这个设计模式本身的核心思想就是面向对象编程的多形性思想 。
策略模式的三个角色:
1.抽象策略角色
2.具体策略角色
3.环境角色(对抽象策略角色的引用)
实现步骤:
1.定义抽象角色类(定义好各个实现的共同抽象方法)
2.定义具体策略类(具体实现父类的共同方法)
3.定义环境角色类(私有化申明抽象角色变量,重载构造方法,执行抽象方法)
工厂模式
工厂模式是我们最常用的实例化对象模式,是用工厂方法代替new操作的一种模式 。
使用工厂模式的好处是,如果你想要更改所实例化的类名等,则只需更改该工厂方法内容即可,不需逐一寻找代码中具体实例化的地方(new处)修改了 。为系统结构提供灵活的动态扩展机制,减少了耦合 。
单例模式
单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例 。
单例模式是一种常见的设计模式,在计算机系统中,线程池、缓存、日志对象、对话框、打印机、数据库操作、显卡的驱动程序常被设计成单例 。
单例模式分3种:懒汉式单例、饿汉式单例、登记式单例 。
单例模式有以下3个特点:
1.只能有一个实例 。
2.必须自行创建这个实例 。
3.必须给其他对象提供这一实例 。
那么为什么要使用PHP单例模式?
PHP一个主要应用场合就是应用程序与数据库打交道的场景,在一个应用中会存在大量的数据库操作,针对数据库句柄连接数据库的行为,使用单例模式可以避免大量的new操作 。因为每一次new操作都会消耗系统和内存的资源 。
注册模式
注册模式,解决全局共享和交换对象 。已经创建好的对象,挂在到某个全局可以使用的数组上,在需要使用的时候,直接从该数组上获取即可 。将对象注册到全局的树上 。任何地方直接去访问 。
适配器模式
将各种截然不同的函数接口封装成统一的API 。
PHP中的数据库操作有MySQL,MySQLi,PDO三种,可以用适配器模式统一成一致,使不同的数据库操作,统一成一样的API 。类似的场景还有cache适配器,可以将memcache,redis,file,apc等不同的缓存函数,统一成一致 。
首先定义一个接口(有几个方法,以及相应的参数) 。然后,有几种不同的情况,就写几个类实现该接口 。将完成相似功能的函数,统一成一致的方法 。
观察者模式
1:观察者模式(Observer),当一个对象状态发生变化时,依赖它的对象全部会收到通知,并自动更新 。
2:场景:一个事件发生后,要执行一连串更新操作 。传统的编程方式,就是在事件的代码之后直接加入处理的逻辑 。当更新的逻辑增多之后,代码会变得难以维护 。这种方式是耦合的,侵入式的,增加新的逻辑需要修改事件的主体代码 。
3:观察者模式实现了低耦合,非侵入式的通知与更新机制 。
【免费php空间哪个好 支持php的免费空间】当新对象要填入的时候,只需要在主题(又叫可观察者)中进行注册(注册方式很多,你也可以在构造的时候,或者框架访问的接口中进行注册),然后实现代码直接在新对象的接口中进行 。这降低了主题对象和观察者对象的耦合度 。好的设计模式不会直接进入你的代码中,而是进入你的大脑中 。
- 免费二级域名解析备案 免费二级域名解析服务
- 安卓模拟器手机官网免费 在线手机模拟器
- DNF辅助免费 dnf辅助软件网站
- 免费制作一寸相片软件 一寸照片制作免费手机软件
- 免费的项目管理工具 项目管理app推荐 免费
- pdf转jpg pdf转换jpg免费软件
- 免费的字体设计软件 字体设计软件免费下载
- 专门制作图片的软件 免费制作图片的软件下载
- 可以换壁纸的软件下载免费 换壁纸下载什么软件
- 标签打印软件免费版 教程 标签打印一般用什么免费软件