C#与设计模式.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C#与设计模式.doc

第1章 C#与设计模式 是什么造就了成功和快乐的程序员?当你的程序最终正常编译运行,而且你已经觉得它优雅到了极致,又是什么成就了这种美妙的“gotcha!” 的感觉?你是如何设法使程序优雅,同时又要满足各种各样的“XX性”(灵活性、可维护性、可靠性、可复用性,以及其它)?最后,为什么一些程序员能比其他程序员更快地达到这种优雅的水准? 你当然可以说:“有些人是为程序而生的,而有些人不是”。但以下的情况,即使在那些最优秀的程序员身上也会发生:盯着电脑上的一屏代码一连坐上几小时甚至几天,苦闷于这代码并不完全正确,艰难地努力着,试图把它改得更好。真正的答案是:成功的程序员拥有两样重要的武器:好的程序设计语言和设计模式。本书致力于展示这一绝佳组合是如何将一个一般的程序员提升到专家层次的。 老程序员们都不会忘记那些给编程语言带来进步的日子。今天我们想当然的事情(比如变量的类型检查)在20世纪70年代的编程语言中可能根本不存在或者只是可有可无的选项。面向对象(目前几乎是最基本的程序设计技术)也是在20世纪90年代才开始流行起来,更不要说泛型(现代集合类的基础,诸如栈(stack)、关联表(map)、链表(list)等都是建立在它的基础上),五年前它还只是个研究项目。 成功的程序员总能跟上语言的进步,但如何恰当地运用语言的新特性,即使对经验丰富的程序员来说,途径也不是那么明显。有些特性,比如自动属性(Automatic Property,参见第3章)和集合初始化式(Collection Initializer,参见第3章),用途明显具体,容易理解;而另外一些特性,比如扩展方法(Extension Method,参见2章),则相对抽象一些。 语言中的许多新特性都需要通过示例程序来演示其用途。然而示例程序虽然有用,有时也会使问题变得模糊,因为例子总是面向具体问题的。给你一个将迭代器用于家族树管理器的例子(参见第9章),你能够在一个聊天室程序中重用它吗?两者的关联一点都不明显,很容易被忽略。走进设计模式吧,它是为成功的程序员而准备的终极思维关联。 设计模式封装了综合运用语言特性来解决问题的一般方法。 设计模式提供了一种高层次的语言,程序员可以用它来描述系统并讨论常见问题的解决方案。这种语言由一些可识别的模式名字以及组成这些模式的元素所构成。合理地运用设计模式能指导开发者设计出好的系统,这样的系统从先前的大量实践经验中汲取营养,从而直接符合优秀的经验成果,而无需再次经历痛苦的发明过程。从市场的角度来看,设计模式极大提高了实践者的机动性及其已有知识的价值,因为这些模式提供了处理问题的通用的、可识别的基本方法。 每种模式都有一个解释性的名字,而且都可以用图来描述,从而显示出其中各种角色的协作。经典的设计模式只有23个(比英文字母的个数还少),通过一些实践,一个好的程序员完全能够掌握所有这些模式的名字及用法。当需要在设计中进行选择时,这些程序员将不再停留在对继承、接口和委托(delegate)等语言特性的选择上,相反,他们能够从更大的图景中直接切入:一个blog系统将适用观察者模式(参见第9章),一个社区网络系统则需要运用代理模式(详见第2章),等等。决策中考虑的元素并不是被消除了,而是被提升到一个更高的抽象层次。 那么,由谁来决定一种设计模式在特定语言中的实现方式呢?许多技术书籍,比如你手中的这一本,以及互联网上的一些作品都提供了各种模式的实现,同时给出了如何在各种模式中进行选择、甚至在同种模式的不同实现方式中进行选择的指导。然而,习惯的力量是巨大的,模式实现中用到的语言特性常常局限于20世纪80年代的语言。但本书不是这样。《C# 3.0设计模式》的目标是全面运用C# 3.0的风格来呈现23种经典设计模式,确保你在本书中学到的东西拥有长时间的实际价值。 关于模式 设计模式的引入源自Erich Gamma,Richard Helm,Ralph Johnson及John Vlissides四人的开创性著作《Design Patterns:Elements of Reusable Object-Oriented Software》(Addison-Wesley出版)(译者注:国内出版过影印版及中译本,中文书名《设计模式:可复用面向对象软件的基础》)。该书所列举并详细描述的23种设计模式,成为该领域所有研究的基础,直到现在,这23种模式仍被视为基本的核心模式。 这些核心模式通过传统的面向对象技术来解决问题,最初的模式实现都通过C++或Smalltalk语言来提供(因为它们是那个时代的主流面向对象编程语言)。从那时起,陆续出现了其它一些书籍,分别用Java、Visual Basic和C#实现了这些模式。随着模式概念深入人心,也有人提议将一些新的模式加入到原来的模式

文档评论(0)

黄金书城 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档