PS:单例模式应该是平时应用比较多的一种模式,该模式主要在于把构造函数设置为私有,并提供一个可供全局访问的点。虽然说常用,但还是有两点值得一提的。一是单例类声明为sealed,以防止派生增加实例的风险,二是多线程中使用时要双重锁定。这种实现方式是我之前常用,这种方式被称为赖汉式单例类,因为它只有第一次被引用时,才取实例化。另外还有一种饿汉式单例类,它是把instance设置为静态,并在声明赋值时实例化,这种”静态初始化“方法就不需要考虑多线程的问题。这两种方式各有利弊吧,看实际需求取舍吧。
PS:单例模式应该是平时应用比较多的一种模式,该模式主要在于把构造函数设置为私有,并提供一个可供全局访问的点。虽然说常用,但还是有两点值得一提的。一是单例类声明为sealed,以防止派生增加实例的风险,二是多线程中使用时要双重锁定。这种实现方式是我之前常用,这种方式被称为赖汉式单例类,因为它只有第一次被引用时,才取实例化。另外还有一种饿汉式单例类,它是把instance设置为静态,并在声明赋值时实例化,这种”静态初始化“方法就不需要考虑多线程的问题。这两种方式各有利弊吧,看实际需求取舍吧。
内容版权声明:除非注明,否则皆为本站原创文章。