在面向对象编程中在使用到class的时候哪些class需要单例实现,哪些class不需要?
RT,
觉得在写web应用的时候基本上用到的class都是logic处理、操作,像是function的集合,这样的class需要单例以节省内存
ORM中返回的查找数据class不需要单例,一条数据是一个object,这样的class像是 c 中的struct ,像是class表现出来的数据集合
求各位大大高见!!!! :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
PHP的话,大概有几种场景
不知道你说的是不是php,
php里的的数据库或缓存,
如果不是单例,每次实例化都会连接一次资源,很耗时的,
如果改成单例,就只连一次了。
像php这种语言,每次请求后,资源都回收了,所以单例子的意义并不大。
单例,顾名思义,就是只有一个实例。
如果为现实建模,那么太阳、宇宙……就是单利。
看你的提问,说的是 web。那么,在 web 中,那些只有一个实例的,就是单利。
比如:
GlobalSetting
,都是唯一的实例,不会存在第二个。杀鸡焉用牛刀,任何设计模式都是为了更好的开发大型的、多人参与的、持久运行并维护的项目。如果是页面逻辑,那么前端控制器
FrontController
就应该是单利,然后将请求通过路由分配给其它的控制器。在
ActionController
中,是业务逻辑,根据不同的业务,合理设计类。如果你的项目仅仅是function的集合,要么是你的项目太小,要么是你的项目代码需要重构。
如果真的是个别的 Utilities 类,就像 @mcfog 回答的,设计成静态类。