模式之美_单态
来源:互联网 发布:手机抠图用什么软件 编辑:程序博客网 时间:2024/04/30 07:55
“四人帮”的23个模式中,单态模式应该是比较常用的,在实际开发中,经常使用在系统相对不变的地方,比如与数据库的连接串、基本配置等地方。几年前曾经做过服务的开发,系统需要提供7个Windows服务,基本配置写在一个XML文件中,7个服务使用同样的配置,这种情况下,就应该使用单态模式,考虑到有时会修改配置文件,就需要能够根据修改后的配置自动使用新的配置。
这个类的结构大概如下:
类Setup是基本配置,SingleSetup就是我们讨论的单态类,私有变量_setup就是Setup类型。Setup里的成员就是配置信息,具体信息在SingleSetup的initSetup中进行设置。
类SingleSetup的具体代码结构如下:
Public Class SingleSetup
Private Shared _Setup As Setup ‘配置信息
Private Shared _Mutex As New System.Threading.Mutex '同步基元也可用于进程间同步
Private Shared _LastModyTime As DateTime ‘最后修改日期
‘关键,构造函数为私有的,确保只有一个实例运作
Private Sub New()
Dim FileName As String =……’此处是配置文件,这里是使用硬编码方式,其实可以通过一个属性传入
_LastModyTime = System.IO.File.GetLastWriteTime(FileName)
initSetup(FileName)
End Sub
Private Sub initSetup(ByVal FileName As String)
…… ‘此处读取配置文件,为_setup的各个属性赋值
End Sub
‘对外的接口,使用这个方法返回系统配置
Public Shared Function GetInstance() As Setup
Dim FileName As String = ……
Try
‘如果_Setup尚没有初始化或者配置文件已经修改,就重新对_Setup进行配置
If _Setup Is Nothing Or System.IO.File.GetLastWriteTime(FileName) <> _LastModyTime Then
_Setup = New Setup
End If
Catch
……
Finally
……
End Try
Return _Setup
End Function
End Class
单态模式简单易用,在处理此类问题的时候,确实是一种简洁高效并且充满美感的方案。
- 模式之美_单态
- 单例模式之简约美
- 设计模式之_单例模式
- 设计模式之_单例模式
- Java[设计模式]之美——单例模式
- 【转载】设计模式之美_只有链接
- 编程之美_单链表面试题_结合3.4_3.6
- 编程之美_单链表面试题_结合3.4_3.6 .
- 编程之美_单链表面试题_结合3.4_3.6
- _代码之美
- 设计模式_单例模式之饿汉式
- 设计模式_单例模式之懒汉式
- 黑马程序员_设计模式之单例
- 控件之美_甘特图
- 编程之美_集合
- 编程之美_象棋
- 代码之美_感悟
- 设计模式之单态
- 电脑族每天请喝四杯茶
- 如何对付难以沟通的同事
- 感悟
- 自恋吗
- 六·一,出去庆祝了
- 模式之美_单态
- Mambo智能建站系统
- [zt]在2000和xp下,隐藏进程,VC6.0测试通过!!!
- [PS实用技巧]1px圆角表格制作教程
- ntoskrnl导致的蓝屏死机问题
- (翻译)这是它的一个功能!
- 使用反射将业务对象绑定到 ASP.NET 窗体控件
- [原创]为CEdit设置背景图片
- Eclipse启动参数大全