代码重构(C# & ASP.NET版),中文完整扫描版

所需积分/C币:50 2014-01-03 17:34:50 198.78MB PDF

重构是迅速发现并修复有问题的代码的一种高效的方式。在《代码重构(C#&ASP.NET版)》中首次提供了在c#和asp.net中进行重构的专业方法,您将学习如何运用重构技术管理和修改代码。此外,还将学习如何从头开始构建原型应用程序,然后利用重构技术将原型转换为正确设计的、企业级的应用程序。通过一步一步的指导,您将更好地理解不同的代码问题以及重构的转换。很多这些转换都是从现实世界的情形中开发出来的,这些都是关键的业务决策的结果。此外,《代码重构(C#&ASP.NET版)》还将介绍重构技术的标准定义,这样您就可以在工作中引用到它。《代码重构(C#&ASP.NET版)》涵盖的重构技术将让您变得效率更高
TP312C 郑州大学*04010723348W* A056 代码重构 (C#& ASP.NET版) (美) Danijel Arsenovski著 潘立福权乐译 清华大学出版社 北京 Danijel Arsenovski Professional Refactoring in C# ASP. NET E|SBN:978-0-470-43452-9 Copyright o 2009 by Wiley Publishing, Inc All Rights Reserved. This translation published under license 本书中文简体字版由 Wiley Publishing,nc授权清华大学出版社出版。未经出版者书面许可,不得以任何 方式复制或抄袭本书内容 北京市版权局著作权合同登记号图字:01-2010-1675 本书封面贴有 Wiley公司防伪标签,无标签者不得销售。 版权所有,侵权必究。侵权举报电话:010-6278298913701121933 图书在版编目(C|P数据 代码重构(C#& ASPNET版)(美)阿瑟诺维斯基( Arsenovski,D.)著:潘立福权乐译 北京:清华大学出版社,2011.6 书名原文: Professional Refactoring in C#& ASPNET ISBN978-7-302-25555-0 I.代…Ⅱ.①阿…②潘…③权…Ⅲ.①C语言一程序设计②网页制作工具一程序设计 ⅣV.①TP312②TP393092 中国版本图书馆CP数据核字(2011)第082547号 责任编辑:王军于平 装帧设计:孔祥丰 责任校对:胡雁翎 责任印制:何芊 出版发行:清华大学出版社 地址:北京清华大学学研大厦A座 htp:∥www.tup.com.cn 邮编:100084 社总机:010-62770175 邮购:010-62786544 投稿与读者服务:010-62776969,c-service@tup.tsinghua.edu.cn 质量反馈:010-62772015, zhiliang(a tup. tsinghua.edu.cn 印刷者:北京密云胶印厂 装订者:三河市新茂装订有限公司 经销:全国新华书店 开本:185×260印张:32.25字数:785千字 版次:2011年6月第1版 印次:2011年6月第1次印刷 印数:1~4000 定价:68.00元 产品编号:03568401 作者简介 Danijel Arsenovski是一位作家、软件架构师,也是一位敏捷指导员。他目前担任 Excelsys S.A.公司的产品和解决方案架构师,主要负责为当地的大量客户设计Web2.0 银行解决方案。在整改大型银行系统时,他开始尝试重构,并始终对重构保持着浓厚的 兴趣。他因提倡在NET平台上运用重构而声名远扬。 Arsenovski是 Visual studio Magazine、 NET Developers Journal和 Visual Systems Journal的撰稿人,拥有 Microsoft certified Solution Developer(MCSD)证书,并被评为2005年的 Microsoft mvp。可以通过 danijel. arsenovski @empoweragile.com与他联系,也可以访问其博客hp:blog.refactoring.com) 前言 感谢您选择本书,欢迎进入神奇的重构世界。笔者希望,您在进行日常编程工作时, 在与同行讨论不同的设计方案时,在准备处理一些晦涩的遗留代码时,或甚至晚上在头脑 中琢磨代码行时,能发现本书的用途。如果这是您第一次接触到重构,那么希望本书能深 刻改变您编程和思考代码的方式。然而,完成这项任务并不是一件简单的事情,最终还需 要由您来评价本书的价值。 笔者在阅读完 Martin fowler编著的 Refactoring: Improving the Design of Existing Code( Addison- Wesley,1999)书之后,以系统化的方式采纳了重构。事实证明,该书是 本十分实用的著作,它介绍了一些可立刻运用于实际项目的必要技术。该书没有建立在复 杂理论的基础之上,也没有包含任何复杂的数学公式 该书通俗易懂,任何编写代码的人都能够立刻理解。在阅读完该书之后,笔者注意到 自己在编程方式上的很多变化: 能够发现更多确定的问题代码和设计缺陷 能够为这些问题思考解决方案并通过重构有效地解决它们 在与同事讨论时,能够简洁明了地阐述自己的决策。 笔者不再将代码视为一成不变的结构,而将其看做一个塑性的、可模化的形式,可以 根据自己的需求和爱好进行定制。这使得处理代码的方式发生了根本的改变。笔者意识到 存在一种方法,通过该方法可以采用一种高效、可预知的方式来修改代码并改进其设计 很快,关于重构的言论在我们的团队中流传开来,笔者看到越来越多的同事从书架上 取下这本书仔细阅读,甚至有人还自费购买了该书。笔者也因此可以使用重构的术语来与 同事们交谈,并将重构作为软件构建过程中不可缺少的部分介绍给大家。这甚至证明了管 理层在这一方面是有远见的 部分是因为对于学习不同的语言和技术感兴趣,另一部分是因为工作上的需要,所 以笔者开始与不同的团队一起工作并用不同的语言来编程。在与用C#编程的团队一起工作 时,笔者试图像对Java团队做的那样传播重构知识。事实证明这一过程并非是一帆风顺。 笔者很快意识到,对于.NET的编程人员而言,几乎没有什么关于重构的信息可供使用。虽 然在任何面向对象的编程语言中,可以以类似的方式使用大部分重构,但是仍存在一些微 妙的区别。在编程人员看到以其自己偏好的语言编写的代码示例之后,他不学习重构的理 由将不复存在 这启发了笔者首先编写了一本关于 isual Basic Net中重构的书,并最终编著了这本 关于C#和 ASPNET中重构的书。笔者认为本书确有存在的必要,C#编程人员将发现该书 是非常实用的 代码重构(C#& ASP NET版) 本书读者对象 本书面向经验丰富的中高级C#开发人员,可引领他们进入重构世界中。为了能够利用 本书收到最圆满的学习效果,读者应该较好地掌握C#编程语言,尤其是面向对象编程原则 如果您还只是一个编程新手,那么无法将本书用作初级入门书籍。本书的目的不是传 授C#编程的基本知识。然而,在职业生涯中不尽早地熟悉重构是没有任何理由的。随着学 会编写第一个类,您就可以使用本书来学习如何正确地设计并纠正可能引入到设计中的任 何错误 如果您是从其他编程语言(如C++、Java或 VB.NET转为学习C#的,也会发现本书很 有用。对于过渡中的编程人员来说,新语言的语法通常很容易掌握,但是真正领会编程语 言的精神则要难得多。本书可以帮助您“以C#的精神”来编程 本书没有对应用程序的类型或领域做出任何假设。所以,您的应用程序可以是通常的 web应用程序、web服务、架构、组件、购物车应用程序、新的 Facebook小部件或射击 游戏。但是不管是什么应用程序,只要其中包含C#代码,您都会发现本书所阐释的技术是 很有价值的 此外,本书还讨论了一些与 ASPNET相关的重构知识。如果您正在使用NET创建Web 应用程序并编写HTML和 ASPNET代码,那么这些内容会最让人感兴趣。本书并未仅局 限于C#代码范围,也处理了诸如HTML、XHTML、CSS和HTTP的代码和技术。虽然任 何 ASPNET开发人员都能读懂这些讨论 ASPNET的章节,但是 ASPNET代码的示例是使 用C#语言编写的 本书所讨论的大部分重构是适用于所有完全面向对象语言的标准重构。这意味着如果 使用其他某种面向对象的语言(如C艹+)进行编程,那么只要熟悉C#语法且能够阅读代码示 例,就可以理解和运用本书所提供的信息。 本书主要内容 本书将详尽介绍C#中的重构和 ASP.NET中的一些重构概念。 本书包括如下基本的重构概念: 代码味道 重构代码转换 ●一些基本的面向对象原则 ●使用重构工具自动完成重构过程 本书只使用了一个示例(对于一本书而言,该示例的规模相对较大)来演示重构在较大 基本代码上的实际应用。 除了适用于任何面向对象语言的标准重构之外,本书还介绍了一些C#专有的重构,以 及重构的一些特殊用法。例如,如何将经典的C#代码转换成LⅠNQ,以及如何使用扩展方 法。此外,还包括了设计模式的主题。 本书包含了大量重要的味道和重构,然而,本书并没有给出完整的重构目录。由于时 前言 间和篇幅的限制,一些重要的重构并没有介绍。例如,本书并没有讨论诸如 Simplify Conditional或 Reverse Conditional之类的重构,而这些重构已经在 Developer Express的 Refactor! for AsP插件中实现自动化。 此外,本书也没有讨论很多“逆向”重构,如 Inline class。木书的首要目标是介绍重 构。笔者的经验表明编程人员刚开始接触重构时首先需要处理的问题是结构化很差的代码 问题,而诸如 Extract Method或 Extract Class之类的重构将帮助解决这一问题。与其相对 的, Inline method和 Inline class重构将帮助处理过分结构化的代码。这些重构将帮助消除 不再需要的构造(如方法或类)。这种情况常常在对基本代码运用了广泛的重构之后才发生。 然而,这并不意味着“逆向”重构不重要。在了解重构的过程中,对这些重构的需要 可能就在掌握了基本的重构之后出现。从中也可让人认识到学无止境。例如,随着每个新 版本的 Refactor!插件发布,将有新的重构添加到支持的重构菜单中。 人们不断地发明和修改重构。随着逐渐熟悉该技术,读者将会发明自己的重构并可能 最终决定与其他人共享这些重构。因此,笔者建议读者跳出本书的范围;不要局限于本书 中所罗列的重构。寻找和发明新的重构,这样将能真正掌握持续代码改进的艺术 本书的组织结构 因为本书是第一本专门介绍C#和 ASPNET中重构的书籍,也可能是读者阅读的第 本关于重构的书,笔者希望本书完成如下多个目标 详尽地介绍C#中的重构 详尽地介绍日常编程会议中可能会咨询到的重构技术和代码味道。 通过一个示例演示如何在现实情形中运用重构技术。这个示例就是 Rent-a-Wheels 应用程序,在本书的每1章最后都将分析和修改该应用程序。 为了达到上述目标,本书主体部分的叙述与其他的技术书籍是类似的。在介绍和阐述 新的概念时,也是从逻辑上由基本到复杂逐步推进。对于每个概念,本书给出了用于举例 的代码示例。通过这种方法,可以从头到尾按照一种逻辑顺序来阅读本书。在得到本书并 首次打开之后,读者通常会这样浏览一两遄。 除了主要的叙述部分之外,还将看到本书中散布着很多味道、重构和面向对象设计原 则的所谓的“定义框”。这些定义的目的是提供相应主题的综述。例如,对于味道而言,其 定义包含了关于如何发现该味道的试探法。对于重构的情况而言,有一个“技巧”部分。 它包含了特定的方法,指明了为高效地执行特定重构而必须完成的步骤。在日常工作期间, 您可以通过参考这些内容来提醒自己如何完成重构、如何发现某种味道以及使用什么重构 来消除该味道等。 大部分章节的末尾都将讨论其章节中谈到的重构、味道以及原则是如何反映到本书所 给的示例中的。读者可以下载每一章中的代码并查看当前一章中的示例发生了何种变化 示例分析的目的是展示重构的实际应用。在很多技术性的书籍中常常会发现,为了论证观 点,对选中的代码示例进行了不太实际的简化。虽然这样的处理让示例更加清楚且更易于 编者进行演示,但是这常常意味着读者将在现实世界中碰到更复杂的情形,而且如果可以 代码重构(C#& ASPNET版) 在生产代码上运用特定的技术,则可能会产生无法预计的障碍。本书试图通过 Rent-a-Wheels z例来向读者呈现一个更为贴近实际的情形。 本书分成了五个部分,这些部分将引导读者按照逻辑顺序从较为基本的概念深入到较 为复杂的概念中。 第1章~第4章为本书奠定了基础。例如,在第1章中,概括性地讨论了有关重构 的内容。该章还澄清了一些关于重构的错误理解。第2章提供了在实践中重构的 初次尝试。随后,第3章介绍了为自动化重构工作而必不可少的工具。第4章则 提供了整木书中使用的一个示例。 第5章~第8章主要讨论了一些核心的标准重构。该部分介绍了为代码构造选择名 称的重要性以及重复代码可能带来的毁灭性的后果。该部分还讨论了诸如 Extract Method之类的标准重构并详细介绍了方法层次上的代码结构化 第9章~第11章主要讨论了一些高级重构,这些重构最大限度地利用了编程环境 中面向对象的功能。对于本书这部分而言,良好的面向对象的技能是至关重要的 这一部分将介绍如何发现类、创建继承层次结构以及大规模地重新组织代码等, 第12章~第13章将介绍为了达到具体的目标如何成功地运用重构。例如,如何将 重构与设计模式配合使用以生成更为完善的设计方案。该部分将展示一些与C#的 Visual studio2008版本一起装载的新功能以及如何才能使用重构来最大化地利用 它们。第13章将讨论LINQ、扩展方法以及其他C#3.0功能的使用。甚至回到了 第2章中的示例,并从C#3.0的角度来重新审视这个示例应用程序。 第14章~第15章讲述的是ASP.NET中的重构。第14章为第15章的内容奠定了 基础。这一章首先讨论了 Visual studio插件 Refactor! for asp.NET,然后解释了与 Web应用程序和HTML相关的很多味道的历史背景。第15章主要介绍了如何让 代码遵从更新的Web标准(如 XHTML和CSS)以及如何从 ASPNET代码重用机制 (如母版页面和用户控件)中获益。 使用本书的要求 为了能充分使用本书,需要如下的软件 Visual studio net2008为了能利用 Refactor! for AsP插件,至少需要安装 Professional edition。在免费的C#2008 Express Edition中,仍然可以调试、执行代 码,并手动地完成重构。如果使用的是 Visual studio2005,那么也可以利用本书 大部分的内容。但第13章除外,因为这一章专门讨论了只有C#30和 Visual studio 2008才提供的功能。 Developer Express的 Refactor! for ASP Net插件—从 Developer Express站点上下 载免费的Ⅴ isual studio插件的最新版本,网址为 :www.devexpress.com/products. Visual Studio Add-in/RefactorASP/ 前言 Microsoft SQL Server为了运行本书中包含的示例,需要安装 Microsoft SQL Server。可以安装 MS SQL Server2000、2005或2008,对于本书介绍的应用程序 而言, Express I版本已经足够。 操作系统:可以使用任何可以运行上述软件的操作系统,如 Windows Xp、 Windows Server2003或2008,或者 Windows vista 味道、重构以及面向对象设计原则的方框 在本书中,将主要碰到3种位于方框中的文本:味道、重构以及面向对象设计原则。 味道 这些方框包含了关于代码味道的概括性定义。代码味道是一个非常重要的重构概念, 每个方框包含如下四个部分 简略图虽然是松散地建立在UML静态类图的基础上,但是从UML语言的意 义上讲,这些图无论如何都是不严格的。这些图应该让重构在代码上执行的转 换更加形象。不是所有的重构都有这样的简略图;一些小规模的方法层次上的 重构并不适合这种图。在创建这些图时,笔者的灵感来自 Sven forts在其 “ Refactoring Thumbnails”一文中的工作。更多关于他的图的信息,请访问该文 网址www.refactoring.be/thumbnailshtn 检测该味道介绍一些简单的试探法来检测代码中的代码味道 相关的重构列出为消除该味道可以使用的重构。 基本原理以更理论化的术语来解释代码味道的负面影响 重构 这些方框介绍了重构的基本内容。每个方框包括如下部分: 动机解释该重构带给代码的好处以及如何改进应用程序的设计。 相关的味道列出该重构可以帮助消除的味道。 技巧提供执行该重构的方法步骤。 面向对象的设计原则 在这些方框中,定义了一些重要的面向对象设计原则并常常使用一些简短的代码示例 来阐释它们。 源代码 在读者学习本书中的示例时,可以手工输入所有的代码,也可以使用本书附带的源

...展开详情
试读 127P 代码重构(C# & ASP.NET版),中文完整扫描版

评论 下载该资源后可以进行评论 84

langzi1314 500多页 加油学习
2020-07-04
回复
missorforget 很好的资源 积分太高
2019-05-05
回复
wiser_112 还不错,非常好
2019-01-19
回复
一零弦空 下载一半网断了,所以我来评论了
2018-11-21
回复
liu_sl2005 先下载下来看看!
2018-08-13
回复
weixin_40594985 可以使用,内容是完整的
2018-08-06
回复
huishaode 对于初级程序员向中级程序员进阶的人,非常有帮助
2017-10-11
回复
gzqsg 全书完整!好人!我要好好学习!
2017-10-08
回复
xiaoliming39 学习学习,还不错的
2017-08-26
回复
zy76 重构好书,最近刚好在重构之前写的东西,感谢分享!!
2017-08-14
回复
img
laoge

关注 私信 TA的资源

上传资源赚积分,得勋章
    最新推荐
    代码重构(C# & ASP.NET版),中文完整扫描版 50积分/C币 立即下载
    1/127
    代码重构(C# & ASP.NET版),中文完整扫描版第1页
    代码重构(C# & ASP.NET版),中文完整扫描版第2页
    代码重构(C# & ASP.NET版),中文完整扫描版第3页
    代码重构(C# & ASP.NET版),中文完整扫描版第4页
    代码重构(C# & ASP.NET版),中文完整扫描版第5页
    代码重构(C# & ASP.NET版),中文完整扫描版第6页
    代码重构(C# & ASP.NET版),中文完整扫描版第7页
    代码重构(C# & ASP.NET版),中文完整扫描版第8页
    代码重构(C# & ASP.NET版),中文完整扫描版第9页
    代码重构(C# & ASP.NET版),中文完整扫描版第10页
    代码重构(C# & ASP.NET版),中文完整扫描版第11页
    代码重构(C# & ASP.NET版),中文完整扫描版第12页
    代码重构(C# & ASP.NET版),中文完整扫描版第13页
    代码重构(C# & ASP.NET版),中文完整扫描版第14页
    代码重构(C# & ASP.NET版),中文完整扫描版第15页
    代码重构(C# & ASP.NET版),中文完整扫描版第16页
    代码重构(C# & ASP.NET版),中文完整扫描版第17页
    代码重构(C# & ASP.NET版),中文完整扫描版第18页
    代码重构(C# & ASP.NET版),中文完整扫描版第19页
    代码重构(C# & ASP.NET版),中文完整扫描版第20页

    试读已结束,剩余107页未读...

    50积分/C币 立即下载 >