Design Patterns: Solidify Your C# Application Arch
Design Patterns: Solidify Your C# Application Architecture with Design Patterns中文版(上篇) optimizer(翻译)关键字 设计模式 singleton strategy decorator composite state
出处 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnmag01/html/PATTERNS.asp
Design Patterns: Solidify Your C# Application Architecture with Design Patterns中文版(上篇)
作者:Samir Bajaj
译者:荣耀
【译序:C#进阶文章。译者对Samir提供的C#例子进行了简单整理(作者提供的某些代码在译者的环境中无法通过编译),并编写了对应的C++示例,一并置于译注中,以便读者比对。译文中所有C#、C++程序调试环境均为Microsoft Visual Studio.NET 7.0 Beta2】
【概要:通过提供一个框架,设计模式可以解决应用开发中的许多问题。模式使得设计过程更加清晰高效,它特别适用于C#程序开发,因为C#是面向对象的语言。【译注:因为设计模式的由来和出发点就是描述面向对象的(可复用的)软件设计】现有的设计模式为你自己的类的设计提供了优秀的模板,使用模式可以缩短软件开发周期。本文将描述几个流行的设计模式,包括singleton、strategy、decorator、composite和state,你可以在你自己的应用中使用它们,藉此提高应用的扩展性,并使类更易于重用。】
正如任何一个老练的面向对象的软件开发者所了解的那样,缺乏对设计模式最起码的了解而来讨论软件设计架构是不可思议的。如果不是全部那也有大多数的软件应用、工具和系统至少使用了一种甚至更多种设计模式。设计模式是一种对一套相互作用的类的描述,这些类为解决特定上下文环境中的一般性问题提供了框架。换句话说,模式为面向对象软件开发中的特定问题提供了解决方案。此外,模式一般也重视限制其适应解决方案的相关约束和其它因素。类和类之间的连接和通信以及上下文细节共同定义了一个模式,它为任何一个面向对象软件设计中在特性和必要条件方面与之匹配的问题提供了解决方案。
我必须承认我是设计模式的一个热心的支持者。自从我阅读了Gamma、Helm、Johnson和Vlissides合著的那本创造性的著作《设计模式》以来,我就很少不用任何模式而设计软件了。实际上,我在软件设计的早期阶段花了相当可观的时间来定夺可和将来架构自然吻合的模式。毕竟,模式是经过时间和应用领域考验过的对一些问题的解决方案,那些问题已经被经验丰富的设计师、开发者和语言专家所解决。对任何一个正在进行软件设计的人员来说,善用可加以利用的知识和专家经验是明智的。而采用一个已被反复证明是成功的解决方案而不是从头发明一个新的往往是个好主意。
补充:Jsp教程,面向对象编程