Singleton - Design Patterns学习笔记(1)

从前些天开始看设计模式的书开始就想写学习笔记。但是最近鲜有机会上网,而且要备战软考,就一直没写。

关于Singleton的翻译问题好多书都不一致,有的叫单态,有的叫单身,单件(个人认为这个比较贴切)。我觉得专业名词还是不要翻译为好,免得给人造成困扰。

个人觉得Singleton算是最简单,最好理解的设计模式了。它表示某个类只能有一个对象。
在程序中,比如一些配置文件,应该只有一个对象的。这时,我们就可以用Singleton模式。

Java代码

// : Configuration.java
/**
 * Singleton of Design Patterns
 * 
@author http://blog.csdn.net/nyzhl/
 
*/

public   class  Configuration  {
    
private static Configuration _instance = null;
    
//私有构造函数 不能在类外部生成对象
    private Configuration() {}
    
public static Configuration getInstance() {
        
if(_instance == null
            _instance 
= new Configuration();
        
return _instance;
    }

    
/*
        methods ...
    
*/

}

// /:~

 本例中如果写C#的代码,与Java完全相同。C++代码也差不多。

由静态方法构成的实用类经常会被用到,对初学者比较重要的,是澄清Singleton和实用类的区别:

实用类不保存状态,仅提供功能
实用类是方法的集合(非OO),Singleton是对象。
实用类不具有多态性。

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值