学习设计模式很重要,这个我们大家都是很清楚的。下面我想谈谈自己对于设计模式的一些观点。
“模式”一词其意有多种解释。“模”,古书《说文》中解释:“模,法也。按,水曰法,木曰模,土曰型,金曰镕,竹曰笵。”;“式”意为“示范,榜样”。由此可见,“模式”一词中文意思可解释为事物的标准样式和方法。国外对“模式”也做出了自己的解释。建筑大师Christopher Alexander在《建筑的永恒之道》一书中解释道:“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动。”以上是中外文献对“模式”一词的简单解释。两种解释虽然说法不同,但是均指出了同一概念:“模式是解决问题的标准方法,许多类似的问题都可以利用相关的模式加以解决”。
在此谈到“模式”特别是在计算机软件技术中谈到该词,几乎所有的人不禁都会想起那本为世人颂扬的《设计模式:可复用面向对象软件的基础》(Design Patterns:Elements of Reusable Object-Oriented Software)一书。书中列举了23个设计模式,为所有学习模式的读者打开了广阔的思维空间。但是,请读者注意的是:模式不仅仅只有这23个,还有一些模式肯定是我们闻所未闻的。
模式作为软件人员交流的术语已经变得非常通用,软件人员可以使用简单的几个字概括一种复杂的思路和方法。但是在本文中所谈的模式不仅包含了类似传统意义上的模式――类似那23个模式--除此之外还涉及运行应用程序的硬件以及相关的一系列在设计开发企业级应用中所碰到的各种问题的解决模式(这是很重要的,不是只有软件的设计模式,还有硬件的,还有其他的模式)。这些内容经过归纳总结之后,形成了本文中所谈的模式。作者认为“模式”在在.NET中可理解为:“在.NET环境下,企业级应用中某些不断重复出现的问题的标准解决方案。模式即标准的解决方案。”这样说明也许读者可以更好的理解。