Singleton - Design Patterns学习笔记(1)
来源:互联网 发布:淘宝信用贷款上征信吗 编辑:程序博客网 时间:2024/05/22 06:05
从前些天开始看设计模式的书开始就想写学习笔记。但是最近鲜有机会上网,而且要备战软考,就一直没写。
关于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 ...
*/
}
///:~
/** *//**
* 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是对象。
实用类不具有多态性。
- Singleton - Design Patterns学习笔记(1)
- Multithreaded singleton - Design Patterns 学习笔记(5)
- 大卫的Design Patterns学习笔记05:Singleton
- 大卫的DESIGN PATTERNS学习笔记05:SINGLETON
- DESIGN PATTERNS学习笔记
- 学习Design Patterns笔记
- Factory - Design Patterns学习笔记(2)
- Design Patterns -- Singleton
- 《Head First Design Patterns》笔记五:单件模式(Singleton Pattern)
- Head First Design Patterns 阅读笔记之五: Singleton Pattern
- Design Patterns in Java - Singleton
- Observer (Java) - Design Patterns学习笔记(3)
- Observer (C# Delegate - Event) - Design Patterns学习笔记(4)
- Design Pattern学习笔记之组合模式(Compound Patterns)
- Design Pattern学习笔记之状态机模式(State Patterns)
- Design Patterns学习笔记:Decorator装饰模式
- Design Patterns学习笔记:Strategy策略模式
- Design Patterns学习笔记21:Strategy
- 将图片资源文件整合到DLL文件中
- 奉上——手机版个人财务管理软件
- 字符串操作常用函数
- 计算两个日期之间的间隔天数、周末天数、以及为当年的哪一周
- 关于客户端加载事件-updatapanel
- Singleton - Design Patterns学习笔记(1)
- linux修改主机名的方法
- 常用正则表达式
- Subversion之路--实现精细的目录访问权限控制
- BIOS详解
- 盗贼开锁技能问题(详细)
- windowsXP 装sql server2000 文件挂起
- 取得月份的天数
- nhibernate源码分析之八: 解析HQL