计算机设计模式怎么学,最简单的设计模式学习Singleton模式

Singleton模式作为最基础的设计模式之一,其主要目的是确保一个类只有一个实例,并提供全局访问点。本文通过C++和Java的代码示例,详细解析了Singleton的实现方式,包括其在Struts Action类中的应用,以及如何防止多线程环境下出现多个实例的问题。同时,讨论了Singleton模式的优缺点和适用场景。
摘要由CSDN通过智能技术生成

学习设计模式,自然从最简单的模式入手,而最简单的模式便是Singleton。所以第一篇就来所以说Singleton模式。看完GOF和Design patterns in Java的书,感觉Singleton虽然简单,但是想写出一个好的Singleton也不是一上来就能写出来的。

Singleton模式的用处自然是保证一个类只有一个唯一的实例。在建模中涉及到的只能有一个对象,例如Struts中的Action类就是一例。除此之外,Singleton还使得该对象只有一个全局访问点。这就是SIngleton的作用。

说得比较抽象,我们来看一个简单Singleton的C++和Java的代码

C++ Singleton模式

类定义class Singleton

2.{

3.public:

4.   static Singleton * Instance();

5.   ~Singleton();

6.

7.private:

8.   Singleton();

9.

10.   static Singleton * instance;

11.};

方法实现

12.Singleton * Singleton::instance = 0;

13.

14.Singleton::Singleton()

15.{

16.

17.}

18.

19.Singleton::~Singleton()

20.{

21.

22.}

23.

24.Singleton * Singleton::Instance()

25.{

26.   if (instance == 0) {

27.    instance = new Singleton();

28.   }

29.

30.   return instance;

31.}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值