PHP面向对象之设计模式

在面试的时候常常被问到设计模式,那设计模式究竟是什么东东呢?php

其实咱们在开发工做中常常遇到设计模式,只是咱们并不知道咱们这个类,方法是一种设计模式。面试

下面就介绍几种经常使用的设计模式,下次再开发的时候,当遇到此类的状况就能知道究竟是哪种设计模式。sql

1.单例模式:instance,多态的体现。数据库

单例模式顾名思义,就是只有一个实例。做为对象的建立模式, 单例模式确保某一个类只有一个实例,并且自行实例化并向整个系统提供这个实例。设计模式

案例:数组

 1.php的应用主要在于数据库应用, 一个应用中会存在大量的数据库操做, 在使用面向对象的方式开发时, 若是使用单例模式, 则能够避免大量的new 操做消耗的资源,还能够减小数据库链接这样就不容易出现 too many connections状况。函数

2.若是系统中须要有一个类来全局控制某些配置信息, 那么使用单例模式能够很方便的实现. 工具

2.简单工厂模式设计

工厂模式是咱们最经常使用的实例化对象模式,是用工厂方法代替new操做的一种模式。3d

就是用工厂类的方法去实例化其余类。

 如:定制工厂
    1.定义一个接口,里面包含交工工具的制造方法(启动 运行 中止)
    2.分别写制造飞机,汽车的工厂类去继承实现这个接口

3.观察者模式

观察者模式属于行为模式,是定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,全部依 赖于它的对象都获得通知并自动刷新。

它完美的将观察者对象和被观察者对象分离。

4. 注册模式

注册模式,解决全局共享和交换对象。已经建立好的对象,挂在到某个全局可使用的数组上,在须要使用的时候,直接从该数组上获取便可。

将对象注册到全局的树上。任何地方直接去访问。

5.适配器模式

将各类大相径庭的函数接口封装成统一的API。 
PHP中的数据库操做有MySQL,MySQLi,PDO三种,能够用适配器模式统一成一致,使不一样的数据库操做,统一成同样的API。

接口:

Mysql操做类:

PDO操做类:

 

固然,设计模式有不少的种类,上面几种设计模式是经常使用的。

咱们须要在开发的过程当中,多多留意它们。 

相关文章
相关标签/搜索