【IT168技术文档】
应用开发作为一门学科逐渐成熟,设计模式也成为常见编程问题的解决方案。设计模式为富有经验的开发者提供一种分享他们久经时间考验的方法的途径,帮助每名开发者解决每天遇到的问题。我将探讨如何在开发过程中应用设计模式,并特别强调.NET单态模式。
代码在哪?
设计模式代表处理并解决问题的一种手段,它并不能提供一个解决一切问题的强大代码库,那些认为自己不需要再学习编码的开发者对此会感到很失望。
应用单态模式
.NET单态模式是今天最有常用也最为简单易懂的设计模式之一。尽管它也会有些复杂,但它的基本前提是简单的:只允许建立一个对象的一个实例。此概念适用于许多设计情形。
例如,你可能只有一个处理系统某些方面的计算器类,要维持有效计算,你只想要(或需要)这个对象的一个实例。另外,你可能希望将一个特殊窗体中打开的子窗体数量限制为1个。子窗体可应用一个只允许一个实例的类(由基本窗体衍生出来)。
你可能想了解,你是否可以用一个静态的类或方法达到同样的结果。如果类确实需要存入内存并保持某种状态,单态是一个不错的选择。在计算器类中,你可能倾向于使用一个静态全程变量,但它仅能解决一个问题:全程可访问性。它不能保证在特定时间只运行一个类的一个实例(不是在所有情形下都有必要)。只运行一个类的一个实例的责任应落在类本身,而非类用户身上。
给单态模式编码
在使用单态模式时,要注意以下几个问题:
1.该类有一个单独的构造器。它是专用的,且不接受参数(接受不同的参数可能会得到不同的结果)。专用的声明可防止其它类对其进行例示,这是对模式的违反。另外,专用的标签可防止子分类。由于子分类允许衍生类建立多个实例,所以这也是必要的。
2.该类有一个与单独类实例有关的静态变量。
3.该类有一个普遍有效的静态方法,可访问那个单独类实例。