轻松取消Excel密码的三种简单有效方法
1306
2022-05-30
单例模式
这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。
模式分析
单例类只能有一个实例。
单例类必须自己创建自己的唯一实例。
单例类必须给所有其他对象提供这一实例。
模式解决问题
控制实例数目,节省系统资源。
保证该类只有一个实例,多处共享
优点
内存中只有一个实例,减少了内存开销,尤其是频繁创建和销毁实例
避免对资源的多重占用
保证全局唯一实例从而保证实例状态一致
缺点
没有接口,不能继承
大量使用也会导致内存泄漏
模式应用场景
要求生产唯一序列号。
WEB 中的计数器,不用每次刷新都在数据库里加一次,用单例先缓存起来。
创建的一个对象需要消耗的资源过多,比如 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小时内删除侵权内容。