dart设计模式之单例模式

网友投稿 1306 2022-05-30

单例模式

这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。

模式分析

单例类只能有一个实例。

单例类必须自己创建自己的唯一实例。

单例类必须给所有其他对象提供这一实例。

模式解决问题

控制实例数目,节省系统资源。

保证该类只有一个实例,多处共享

优点

内存中只有一个实例,减少了内存开销,尤其是频繁创建和销毁实例

避免对资源的多重占用

保证全局唯一实例从而保证实例状态一致

缺点

没有接口,不能继承

大量使用也会导致内存泄漏

模式应用场景

要求生产唯一序列号。

WEB 中的计数器,不用每次刷新都在数据库里加一次,用单例先缓存起来。

dart设计模式之单例模式

创建的一个对象需要消耗的资源过多,比如 I/O 与数据库的连接等。

模式代码

class _SingleTon { _SingleTon._(); //第一种方式调用 factory _SingleTon() { return instance; } //第二种方式调用 static _SingleTon instance = _SingleTon._(); int count = 0; } class RunSingleTon implements Run { @override main() { print('单例模式创建'); print(_SingleTon().count++); print(_SingleTon.instance.count++); print(_SingleTon.instance.count++); } }

数据库

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:《软件架构理论与实践》 —1.3.4 普及应用阶段(1999年至今)
下一篇:映射端口后视频流无法播放,如何解决?
相关文章