单态(单例)设计模式

Posted abinlulu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单态(单例)设计模式相关的知识,希望对你有一定的参考价值。

一、单态(单例) 他不会有新的语法参与 只是一种新的设计方法和思路而已

二、单态到底是什么

最终结果就是想要你的类只得到一个对象

  1. 不能让用户在外面new---------------> 封装构造方法
  2. 我们一个对象都得不到--------------> 提供一个方法
  3. 普通的方法外部无法访问-----------> 使用static修饰
  4. 方法中我们可以加判断 ------------> 添加一个属性
  5. 普通属性无法再静态中使用-------> 这个属性也用静态修饰

 

魔术方法

 

  1. __construct()     使用new关键字得到对象的时候自动调用
  2. __destruct()      对对象销毁的时候自动调用
  3. __set() 在没有权限赋值的时候自动调用
  4. __get() 在没有权限获取值的时候自动调用
  5. __isset() 在没有权限使用isset函数的时候自动调用
  6. __unset()   在没有权限使用unset函数的时候自动调用
  7. __toString()      将一个对象当作字符串输出的时候自动调用   必须要返回字符串
  8. __invoke()       将对象当作函数调用的时候会自动调用
  9. __call() 调用一个不存在的方法的时候 会自动调用
  10. __callStatic() 调用一个不存在的静态方法的时候会自动调用
  11. __clone()    通过clone关键字得到对象的时候自动调用魔术函数
  12. __autoload() 当我们在实例化一个对象的时候发现类不存在会自动调用此函数补救措施

 

以上是关于单态(单例)设计模式的主要内容,如果未能解决你的问题,请参考以下文章

java中单态模式或单例模式(Singleton)有什么意义?

PHP 对象 单态(单例,单件)设计模式 static

单态模式其他模式

为啥Spring把bean设计成单态的,这样的设计的好处是啥?

java 单例模式

单例模式的常见应用场景