◆记录能够正常工作的简单机制。
◆为开发人员和体系结构设计者提供通用的词汇和分类法。
◆允许以模式组合的方式简明扼要地描述方案。
◆允许重复使用体系结构、设计和实现决策。
模式可以记录简单机制
模式描述给定上下文中反复出现的问题,并基于一组指导性影响因素来建议解决方案。解决方案通常是一种简单的机制,是为了解决模式中所标示出的问题而一起工作的两个或多个类、对象、服务、进程、线程、组件或节点之间的协作。
您正在构建一个报价应用程序,其中有一个类负责管理系统中的所有报价。很重要的一点是,所有报价都应与该类的一个(而且只与一个)实例进行交互。如何构造您的设计,以便从该应用程序中只能访问该类的一个实例?
解决该问题最简单的方案就是创建一个具有私用构造函数的QuoteManager类,以便任何其他类都不能实例化它。此类包含QuoteManager的一个静态实例,并使用名为GetInstance()的静态方法返回。此代码大体如下所示:
public class QuoteManager...{
//注意:仅适用于单线程应用程序
private static QuoteManager _Instance = null;
private QuoteManager()
...{}
public static QuoteManager GetInstance()
...{
if (_Instance==null)
...{
_Instance = new QuoteManager ();
}return _Instance;
}
//... QuoteManager提供的函数
}
您可能已经像其他许多开发人员那样通过类似的方式解决过类似的问题。实际上,注意反复出现的问题并寻求解决方案的模式作者已经屡次发现了这种实现,提取出了通用解决方案并将这种问题-解决方案对称为Singleton模式[GOF95]。
问题-解决方案对模式
文章来源于领测软件测试网 https://www.ltesting.net/