Skip to content

Latest commit

 

History

History
46 lines (33 loc) · 1.27 KB

设计模式.md

File metadata and controls

46 lines (33 loc) · 1.27 KB

1. 单例模式(单例模式写一个数据库连接)

<?php

final class Singleton
{
	private static $instance;

	private function __construct()
	{

	}

	public function getInstance()
	{
		if (!self::$instance) {
			slef::$instance = new self();
		}

		return self::$instance;
	}

	private function __clone()
	{

	}
}

2. 门面模式和模板模式的区别

template method 是继承关系,父类规定函数调用顺序,子类对各函数进行实现 facade 是组合关系,facede 清楚组合进来的类函数调用顺序,这些类不需要继承

3. 自己在项目中用到过的设计模式?

  1. 工厂模式
  2. 组合模式,这种情况下,减少了继承,组合的模式更加灵活【依赖注入】
  3. 观察者模式,这种还是用的比较多的, 因为涉及到异步处理,所以选择这种模式。

单例模式在PHP中的应用场合:

  1. 应用程序与数据库交互 一个应用中会存在大量的数据库操作,比如过数据库句柄来连接数据库这一行为,使用单例模式可以避免大量的new操作,因为每一次new操作都会消耗内存资源和系统资源。
  2. 控制配置信息 如果系统中需要有一个类来全局控制某些配置信息,那么使用单例模式可以很方便的实现.