如何深入解析C语言编程细节?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1933个文字,预计阅读时间需要8分钟。
单例模式(Singleton)是一种设计模式,它确保在整个应用程序中,某一特定类的实例仅存在一个。例如,一个类加载数据库的数据,只需要将数据从磁盘读取到内存一次,之后提供读取服务。这种情况下,使用单例模式非常合适,因为‘一个’数据库实例就足够了。
单例模式(Singleton),故名思议就是说在整个应用程序中,某一对象的实例只应该存在一个。比如,一个类加载数据库中的数据到内存中以提供只读数据,这就很适合使用单例模式,因为没有必要在内存中加载多份相同的数据,另外,有些情况下不允许内存中存在多分份相同的数据,比如数据过大,内存容不下两份相同数据等等。
约定单例模式(Singleton by Convention)
这种方式有点“Too simple, Sometimes naïve”,他就是提示使用者,我是单例,不要重复初始化我,比如:
public class Database { /// <summary> /// 警告,这是单例,不要初始化多次,否则,后果自负. /// </summary> public Database() {} };
一种情况是,根本不会注意到这个提示,其次是在很多时候,这些初始化是偷偷摸摸无意中发生的,比如通过反射,通过工厂产生(Activator.CreateInstance),通过注入等等,虽然有一个“约定大于配置”,但是这里不使用。
本文共计1933个文字,预计阅读时间需要8分钟。
单例模式(Singleton)是一种设计模式,它确保在整个应用程序中,某一特定类的实例仅存在一个。例如,一个类加载数据库的数据,只需要将数据从磁盘读取到内存一次,之后提供读取服务。这种情况下,使用单例模式非常合适,因为‘一个’数据库实例就足够了。
单例模式(Singleton),故名思议就是说在整个应用程序中,某一对象的实例只应该存在一个。比如,一个类加载数据库中的数据到内存中以提供只读数据,这就很适合使用单例模式,因为没有必要在内存中加载多份相同的数据,另外,有些情况下不允许内存中存在多分份相同的数据,比如数据过大,内存容不下两份相同数据等等。
约定单例模式(Singleton by Convention)
这种方式有点“Too simple, Sometimes naïve”,他就是提示使用者,我是单例,不要重复初始化我,比如:
public class Database { /// <summary> /// 警告,这是单例,不要初始化多次,否则,后果自负. /// </summary> public Database() {} };
一种情况是,根本不会注意到这个提示,其次是在很多时候,这些初始化是偷偷摸摸无意中发生的,比如通过反射,通过工厂产生(Activator.CreateInstance),通过注入等等,虽然有一个“约定大于配置”,但是这里不使用。

