单例模式
单例模式的含义:
作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统全局地提供这个实例。它不会创建实例副本,而是会向单例类内部存储的实例返回一个引用。
单例模式的三个要素:
1. 保存类唯一实例的静态变量。
2. 构造函数和克隆函数必须是私有的,放在外部去实例化,这样就不存在单例模式的意义。
3. 提供一个可供外部访问的公共静态方法,这个方法返回该类的唯一实例。
单例模式的意义:
在 PHP 中的应用主要在于数据库应用, 所以一个应用中会存在大量的数据库操作, 在使用面向对象的方式开发时, 如果使用单例模式, 则可以避免大量的 new 操作消耗的资源。而不完全是对系统资源的节省, 可以避免重复实例化,因为 PHP 每次实例化一个类之后都会清理掉对应的资源,当再次使用的时候又会在重新去实例化一次。
单例模式使用的场景:
1. 数据库操作,减少对数据路的 new 操作,从而减少内存资源和系统资源的消耗。
2. 配置资源的共享,在一个系统中,配置资源都是全局的,使用单例模式也可以减少每次去读取配置带来的内存和系统资源的消耗。
代码演示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
单例模式和非单例模式的区别:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
|