学习TerryLee 的设计模式:单态模式(附全码)_AX

最近对设计模式很感兴趣,遂开始学习TerryLee 的 .NET设计模式系列文章 :下面为其链接
http://terrylee.cnblogs.com/archive/2006/06/01/334911.html

【单态模式】创建一个类,我们只能使用这个类的同一个实例.

 1 None.gif using  System;
 2 None.gif
 3 None.gif namespace  ClassLibrary_AX
 4 ExpandedBlockStart.gifContractedBlock.gif dot.gif {
 5InBlock.gif    public sealed class Singleton
 6ExpandedSubBlockStart.gifContractedSubBlock.gif    dot.gif{
 7InBlock.gif        //创建一个静态的Singleton实例,外部不可访问(同一个解决方案的不同项目)
 8InBlock.gif        static readonly Singleton onlyOne=new Singleton();
 9InBlock.gif        //私有的构造方法外部不可创建实例
10InBlock.gif        private Singleton()
11ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
12ExpandedSubBlockEnd.gif        }

13InBlock.gif        //通过Singleton的OnlyOne属性返回onlyOne实例
14InBlock.gif        public static Singleton OnlyOne
15ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
16InBlock.gif            get
17ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
18InBlock.gif                return onlyOne;
19ExpandedSubBlockEnd.gif            }

20ExpandedSubBlockEnd.gif        }

21ExpandedSubBlockEnd.gif    }

22ExpandedBlockEnd.gif}

【追加】
可以把: public sealed class Singleton
改为: public class Singleton
因为:构造函数被标记为private,这种类是不能被实例化的.
严格的说是不能在类外被实例化,可以在此类的内部实例化(这种方式可以用于实现单件设计模式)。注意一点,这样的类也不能够作为基类来继承。

引自:epjnpe的接口部分
http://epjnpe.cnblogs.com/archive/2006/06/11/423311.html 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值