您的浏览历史

设计模式--基于C#的工程化实现及扩展(china-pub 首发)

促销活动
精彩评论

基本信息

编辑推荐

全国海关中心架构师、《程序员》专栏作者王翔倾力奉献.
充分挖掘C#语言高级特性
以简洁、直接的手段解决易变化的问题..
以工程化角度来阐释设计模式...

推荐阅读
C#图解教程(公认最易学的C#参考书)..

市场价:¥65.00
4-5星价:¥50.05
[购买] [收藏]
C# 3.0设计模式..

市场价:¥49.00
4-5星价:¥37.73
[购买] [收藏]

内容简介回到顶部↑

本书基于C# 2.0的语法,试图将GOF 23中的模式以一种可工程化的公共库而非Example的方式呈现给读者。内容包括以下7部分。.
第1篇主要是概括性的介绍;第2篇创建型模式介绍通过将实例化职责委托他方对象的办法,隔离客户程序与具体类型实例化的依赖关系,保证客户程序(或者外部系统)获得期望具体类型实例的、同时不必发生直接的引用;第3篇结构型模式的重点在于如何通过灵活的体系组织不同的对象,并在此基础上完成更为复杂的类型(或者类型系统),而参与组合的各类型之间始终保持尽量松散的结构关系;第4篇行为型模式关注于应用运行过程中算法的提供和通信关系的梳理;第5篇主要介绍小颗粒度基础模式和应用案例;第6篇主要介绍应用全局的模式化的实现方法,包括现在已经被普遍应用的N层模式及某些关键性框架产品采用的“微内核”模式;第7篇主要是一些针对Web和Web Service领域的模式设计技术。..
本书主要针对对C#语言和.NET Framework平台有一定了解或有一定应用经验的用户,尤其适于那些希望运用模式技术在设计和开发方面多应对些挑战的用户。...

作译者回到顶部↑

作者: 王翔
王翔,软件架构师,主要从事.NET、XML、公钥基础设施的开发。专注于数据(尤其是XML信息)的生产、加工、交换、提炼等过程。最近参与了一系列有关应用密码技术和PKI环境保护信息系统数据安全的项目。. 最喜欢数学,平常案头总是摆一本数学练习题。闲暇时间喜欢写作,通过发表多种技术文章与国内外同行交流各种数据应用经验。.. 项目间隙经常到各海滨城市徒步旅行、野外露营、出海航行、极限运动,这几年烹饪也渐渐成为个人主要爱好。... 博客园博客:http://www.cnblogs.com/callwangxiang/.. << 查看详细

[同作者作品]
设计模式--基于C#的工程化实现及扩展(china-pub 首发)

目录回到顶部↑

导读. I
第1篇 预备知识——发掘用C#语言进行面向对象化设计的潜力 1
第1章 重新研读C#语言 3
1.1 说明 4
1.2 C# 部分语法内容扩展 4
1.2.1 命名空间(Namespace) 4
1.2.2 简洁的异步通知机制——委托(Delegate) 6
1.2.3 考验你的算法抽象能力——泛型(Generics) 12
1.2.4 用作标签的方式扩展对象特性——属性(Attribute) 18
1.2.5 用索引器简化的C#类型信息访问 22
1.2.6 融入C#语言的迭代机制——迭代器(Iterator) 29
1.3 可重载运算符(Overloadable Operators)与转换运算符(Conversion Operators) 35
1.3.1 The Day After Someday 35
1.3.2 用于有限的状态迭代 35
1.3.3 操作集合 36
1.3.4 类型的适配 37
1.3.5 小结 38
1.4 面向插件架构和现场部署的配置系统设计 39
1.4.1 认识.NET Framework提供的主要配置实体类 40
1.4.2 应用实例 41

序言回到顶部↑

序 言
我有幸5岁开始学习编程。成为一名软件开发人员是从初中开始确立的一个目标。大学毕业后因为工作的关系,开始使用Visual C++、Visual Basic进行开发,并在师傅的教导下学习C#。初识C#的时候我总会将它和之前接触的语言进行类比,而且一直用C#以很生硬的方式完成工作任务。不过随着行业的快速发展,来自各方面的变化往往在项目中期就不期而至,在很被动地完成几个项目后,我开始寻找尽可能灵活应付这些问题的方法,Enterprise Library、《Design Patterns: Elements of Reusable Object-Oriented Software》和《Patterns of Enterprise Application Architecture》是对我帮助最大的三项资料。通过对它们的了解,我发现C#中充满灵性的内容——托管环境下的自由、灵活,我变得酷爱C#。.
模式是一个非常有趣的话题,它是对特定前提下重复出现问题的一个普遍解答,它是一种思想,使用得当也会对设计、实施提供帮助,从这个角度看它又是实实在在的生产率。最近几年单位用.NET开发的项目越来越多,规模也越来越大,自己经常感觉到需要把一些内容记录下来,并在与同事、同行分享的过程中修正、提炼它们,这也是写本书的主要动力。区别于其他类似的图书,本书强调面向工程化处理,偏重具体实现,同时结合越来越普遍使用的XML技术及.NET 3.0+的技术进行了扩展和完善。在完成GOF4的23种模式后,我感觉到仅仅用这些“搭”项目是不够的,因此继续把一些架构模式、Web服务模式、成例补充进去。不过比较遗憾的是因为时间的关系,忽略了数据库模式、数据访问模式、集成模式。
您可以直接用示例代码做练习,关于本书的示例代码您可通过以下链接免费下载:http://bv.csdn.net/resource/sjms.rar。为了便于了解每个知识点,建议您使用TestDriven.Net逐个运行相关章节示例代码的单元测试,涉及数据库访问的时候,您还需要用到微软的Northwind官方示例数据库。
希望本书能对您的开发有所帮助,当面对各种“不可抗拒”的变化时,您可以从中获得一些启发,能够简洁并直接地应对它们。另外,希望有机会与您就模式和C#语言进行沟通和讨论,书中存在的问题和错误也请您不吝指正。
高级架构师 王 翔

推荐序1
如果你要开发一个小型的系统,整个系统只有两三人,系统活不过五年,商业逻辑单纯,程序代码不超过万行,那么你随便做,影响不大。反之,若要架构大型系统,你需要慎思,套用模型与架构,将前人的经验当作基石,这样系统设计才不至于陷入发散。
然而,你不会一开始就做大系统,那样风险太高。因此,要练习,最好从小系统开始使用模型与架构,这样才能检讨与学习,日后方能在大系统中自如运用。
企业信息系统现今面临着大量的整合需求,需要提供深入的分析应用和灵活的应变流程。但系统整合的复杂度是彼此系统复杂度的乘积,系统间的安全、弹性、效率、扩充性、可用性……彼此互相掣肘,此时,企业需要接触广、想得深、能定方向的架构师。而熟悉设计模式是架构师的养成基础,要求对于问题的分类与解法有一定的认知。..
有经验的设计者们,抽象出系统开发的原则与标准问题的设计解法,而GOF于十几年前提出的23种模式是其中的佼佼者。但毕竟空有概念,仍难落实到你日常使用的程序语言中来。坊间许多图书作者利用不同的程序语言,例如C++、Visual Basic、.NET、Java等,实现GOF的23种模式,配合UML的模型说明,让你可以方便地应用在自己的开发环境中。
本书的作者王翔有多年的开发经验,参与过多个千万乃至十亿行代码的大工程,他将经验融于设计模式中,以C#重新实现了GOF的模式,同时加入了新近的设计想法,如SOA与Web Services等,以及相对于其他设计模式而言较新的.NET Framework实现技术,如泛型、3.0的WCF等。在本书中他除了正向地以C#展现多个不同用途的模式外,还提供了日后可重复验证与测试的单元测试码。
系统分析与设计是门艺术,问题的解法与何为问题是交织的,而各模式的搭配使用技巧不同,要领存乎一心,须要巧思与反复琢磨,方可有好的解法。本书立意明确,除了告诉你问题的类型与解法,还提供了可以立即演绎的程序代码。相信这本案头的工具书可以提供你一个不错的思维模式,帮你造就有弹性、能扩充、易维护的软件实体。
须要提醒你的是,抽象化的思考、封装与重用的设计神髓在心中,而不是落在纸上的程序代码,阅读此书时,不要停止在仅Copy and Paste程序代码。
微软MVP,台湾恒逸资讯资深讲师,数据库铁人 胡百敬

推荐序2
且看《笑傲江湖》中风清扬的独孤九剑:有进无退,招招都是进攻,使攻敌不得不守。虽只一剑九式,却是变化无穷,学到后来,前后式融会贯通,更是威力大增。能料到他要出甚么招,反招却抢在他头里。敌人手还没提起,你长剑已指向他的要害,他再快也没你快。“料敌机先”和“活学活用”这八个字,正是这套剑法的精要所在。
设计模式可以当做软件开发中的独孤九剑。在软件设计中最大的敌人就是需求不断在变化,需求变化无休无止,软件交付日期也就无限期地延迟。我们无法做到以不变应万变,但如果能提前预见到一些变化,就能用很小的代价来应对剧烈的变化。GOF总结的经典设计模式虽只有23种,但不管是创建型模式、结构型模式还是行为型模式,归根结底都是在寻找软件中可能的变化,并封装这些变化。“料敌机先”为设计模式精髓之一,只不过这里的敌是需求的变化而已。

媒体评论回到顶部↑

本书立意明确,除了告诉你问题的类型与解法,还提供了可以立即演绎的程序代码。相信这本案头的工具书可以提供你一个不错的思维模式,帮你造就有弹性、能扩充、易维护的软件实体。.
胡百敬
微软MVP,台湾恒逸资讯资深讲师,“数据库铁人”
作者从GOF 23种经典设计模式开始,带你走进模式的大门,小到细粒度的基础模式,大到粗粒度的架构模式,本书都做了详尽的讲解。如果您还在为了软件需求的无尽变化而烦恼不断,为了在软件设计领域更上一层楼而苦苦思索,希望本书能够带给您一些启发。..
李会军
微软MVP ,博客园专家,IT168专栏作者
本书很有特色的地方,就是以工程角度来阐释模式,相较纯粹的模式之说,则更具普遍的下手角度,C#语言的高级特性结合设计模式的经典思想,两者相得益彰。
王涛
微软MVP ,博客园专家,《你必须知道的.NET》作者...

评论交流

共有24人开贴评论  26人参与评论  13人参与打分 查看

5人
 38%
用户平均打分
我要写评论 help如何参与评论和打分
4人
 30%
2人
 15%
0人
 0%
2人
 15%

bloodye

三级评论员
该会员在china-pub购买过此书
评价等级:  
发表于:2009-4-16 4:29:00
很多人说这本书枯燥乏味,那你们说GOF的设计模式是不是枯燥乏味呢?如果你们只看大话设计模式,Head first,那你们永远都无法完成一个模式的综合,我之所以给这本书4.2分,是因为个人认为很多模式的演化,容易对人产生一些误导,这本书有些牵强。
但是总体来说是本好书,适合设计模式进阶的人看。
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)

xinguodong

一级评论员
该会员在china-pub购买过此书
评价等级:  
发表于:2009-3-6 8:17:00
这本书我前后一共买了2本。作者的工程经验和对面向对象以及软件工程的理解很透彻,对写过软件但缺乏工程经验的软件开发人员有较高的参考价值,正如作者在书中说的,第一次写书,因此书的安排没有认真考虑读者的理解过程,但是从书的内容来说,这本书是一本很好的参考书和软件学院的教科书,因此特意又买了本送朋友,如果能再版,希望能作者能研究一下读者的理解过程,可以参考Head first,降低一下理解门槛,把比较复杂的技术讲简单了,个人浅见,不妥之处忘见谅。
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)

wing011203

一级评论员
该会员在china-pub购买过此书
评价等级:  
发表于:2009-1-21 9:11:00
感觉现在关于设计模式的书籍太多了,虽然设计模式是和语言无关的,但是我们的工作是和语言相关的,所以从一种特定的语言来观察设计模式,是一种不错的尝试。
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)

CoolJie2001

专家级评论员
该会员在china-pub购买过此书
评价等级:  
发表于:2009-1-14 11:31:00
从纸张来看本书的纸张算是不错,从内容来看,作者讲解的较为枯燥,并且说的是和工程实践联系起来,但是实际上却是生搬硬套的连接,缺乏Head First Design Pattern一书的风趣幽默加清晰。这个价格不值得购买,现在设计模式的书太多了,如果一定要研究.NET环境C#语言下如何实现GOF23种模式,这本书可以购买,当然,也可以读那本小菜与大鸟的,那本书更加容易读懂并且更加幽默风趣
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)

ljf9201314
出版商
精彩书评
评价等级:  
发表于:2008-11-17 10:03:00
仅仅学会了剑法永远也无法达到武功的最高境界,正如学会了设计模式也无法登上软件设计领域之巅,要经过大量的实战才行,在实战中提高剑法,在实战中体会如何“料敌机先”,如何“活学活用”。《设计模式——基于C#的工程化实现及扩展》正是这样一本教你进行设计模式实战的好书。本书的目标读者是对C#语言和.NETFramework平台有一定了解或应用经验的用户,尤其适于那些希望能基于模式技术在设计和开发方面应对更多挑战的用户。对于具有多年项目经验的架构师而言,本书的内容可能有些肤浅,不过您可以把本书当成一个小备忘录。(本书装帧精美,封面和环衬将采用特种纸张,绝对值得期待)
回复 ( 1条评论-- 点击查看讨论 )
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得1个)
我要写评论
查看所有评论交流(共24条)