<?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()
{
}
}
template method 是继承关系,父类规定函数调用顺序,子类对各函数进行实现 facade 是组合关系,facede 清楚组合进来的类函数调用顺序,这些类不需要继承
- 工厂模式
- 组合模式,这种情况下,减少了继承,组合的模式更加灵活【依赖注入】
- 观察者模式,这种还是用的比较多的, 因为涉及到异步处理,所以选择这种模式。
- 应用程序与数据库交互 一个应用中会存在大量的数据库操作,比如过数据库句柄来连接数据库这一行为,使用单例模式可以避免大量的new操作,因为每一次new操作都会消耗内存资源和系统资源。
- 控制配置信息 如果系统中需要有一个类来全局控制某些配置信息,那么使用单例模式可以很方便的实现.