传统php一次请求结束后,进程就结束了,单例模式还有用嘛
所谓单例,就是整个程序有且仅有一个实例。该类负责创建自己的对象,同时确保只有一个对象被创建
每个设计模式有是有它存在的意义。上面是定义。再一个应用程序开发的过程中一定是避免不了有些对象被多次使用,比如:数据库,缓存,全局配置,ioc容器等等!为了避免类似被多次创建带来的额外开销,所以单例的模式是一个很好的解决方案。如果需要细致的了解,可以研究一下常用的MVC源码,里面少不了这些常用的设计模式。
1 回答4.1k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
2 回答2.3k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答716 阅读✓ 已解决
2 回答2.3k 阅读
1 回答687 阅读✓ 已解决
如果你确定对象只会被使用一次,可以不用单例模式。
就像上面的回答说的,一次请求可能会进行多次数据库和日志记录操作,线上项目每次请求都会有很多次日志记录,如果不是单例模式结果可能是:
这明显会造成不合理的浪费。
什么情况下不需要单例,model 层就是典型的例子,通常在一次请求中,实例化一次 model 对象就会一直使用,这时可以不用单例。