注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)C/C++及其相關(guān)代碼重構(gòu)(C# & ASP.NET版)

代碼重構(gòu)(C# & ASP.NET版)

代碼重構(gòu)(C# & ASP.NET版)

定 價(jià):¥68.00

作 者: (美)阿瑟諾維斯 著,潘立福,權(quán)樂 譯
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: VC++

ISBN: 9787302255550 出版時(shí)間: 2011-06-01 包裝: 平裝
開本: 16開 頁數(shù): 495 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  重構(gòu)是迅速發(fā)現(xiàn)并修復(fù)有問題的代碼的一種高效的方式。在《代碼重構(gòu)(c # & asp.net版)》中首次提供了在c#和asp.net中進(jìn)行重構(gòu)的專業(yè)方法,您將學(xué)習(xí)如何運(yùn)用重構(gòu)技術(shù)管理和修改代碼。此外,還將學(xué)習(xí)如何從頭開始構(gòu)建原型應(yīng)用程序,然后利用重構(gòu)技術(shù)將原型轉(zhuǎn)換為正確設(shè)計(jì)的、企業(yè)級(jí)的應(yīng)用程序。通過一步一步的指導(dǎo),您將更好地理解不同的代碼問題以及重構(gòu)的轉(zhuǎn)換。很多這些轉(zhuǎn)換都是從現(xiàn)實(shí)世界的情形中開發(fā)出來的,這些都是關(guān)鍵的業(yè)務(wù)決策的結(jié)果。此外,《代碼重構(gòu)(c# & asp.net版)》還將介紹重構(gòu)技術(shù)的標(biāo)準(zhǔn)定義,這樣您就可以在工作中引用到它?!洞a重構(gòu)(c# & asp.net版)》涵蓋的重構(gòu)技術(shù)將讓您變得效率更高。您將能使用這些信息對(duì)修改做出反應(yīng)并改進(jìn)既有代碼的設(shè)計(jì)。主要內(nèi)容◆組裝重構(gòu)工具箱的步驟◆完成單元測(cè)試的技術(shù)◆重構(gòu)為模式的技巧◆如何使用重構(gòu)升級(jí)既有的c#和asp.net代碼◆利用方法提取消除重復(fù)代碼的方式◆如何讓代碼變得更簡(jiǎn)單、更易于修改以及更容易理解◆所有關(guān)于面向?qū)ο蟮睦碚摵驮O(shè)計(jì)模式◆利用linq和其他c#3.0增強(qiáng)功能的技巧讀者對(duì)象《代碼重構(gòu)(c# & asp.net版)》適用于那些想要學(xué)習(xí)通過重構(gòu)工具和功能來高效地管理和修改代碼的c#和asp.net開發(fā)人員。

作者簡(jiǎn)介

  作者:(美國)阿瑟諾維斯基(Danijel Arsenovski) 譯者:潘立福 權(quán)樂阿瑟諾維斯基(Danijel Arsenovski),是一位作家、軟件架構(gòu)師,也是一位敏捷指導(dǎo)員。他目前擔(dān)任Excelsys S.A.公司的產(chǎn)品和解決方案架構(gòu)師,主要負(fù)責(zé)為當(dāng)?shù)氐拇罅靠蛻粼O(shè)計(jì)Web 2.0銀行解決方案。在整改大型銀行系統(tǒng)時(shí),他開始嘗試重構(gòu),并始終對(duì)重構(gòu)保持著濃厚的興趣。他因提倡在.NET平臺(tái)上運(yùn)用重構(gòu)而聲名遠(yuǎn)揚(yáng)。Arsenovski是Visual Studio Magazine、.NET Developers Journal和Visual Systems Journal的撰稿人,擁有Microsoft Certified Solution Developer(MCSD)證書,并被評(píng)為2005年的Microsoft MVP。

圖書目錄

第1章 重構(gòu)的全面介紹
1.1 重構(gòu)的快速瀏覽
1.1.1 重構(gòu)過程
1.1.2 軟件開發(fā)現(xiàn)狀概述
1.2 重構(gòu)過程的詳細(xì)介紹
1.2.1 代碼味道的使用
1.2.2 代碼轉(zhuǎn)換
1.2.3 使重構(gòu)的轉(zhuǎn)換自動(dòng)化
1.2.4 重構(gòu)的優(yōu)點(diǎn)
1.2.5 澄清一些常見的誤解
1.3 沒有孤軍奮戰(zhàn)的編程人員
1.4 c#和重構(gòu)
1.5 小結(jié)
第2章 重構(gòu)的初次體驗(yàn)
2.1 示例應(yīng)用程序:calories calculator
2.1.1 具有計(jì)算推薦每日卡路里量功能的calories calculator應(yīng)用程序
2.1.2 需求的增長:計(jì)算理想的體重
2.1.3 需求的增長:病人數(shù)據(jù)的持久化
2.2 重構(gòu)實(shí)戰(zhàn)
.2.2.1 將btncalculate_click方法分解
2.2.2 計(jì)算并顯示實(shí)際體重和理想體重之間差距的片段
2.2.3 按性別計(jì)算卡路里和理想的體重
2.2.4 經(jīng)過方法提取之后的btncalculate_click方法
2.2.5 發(fā)現(xiàn)新的類
2.2.6 縮小patient類的接口
2.2.7 重新構(gòu)建distancefromidealweight方法
2.2.8 創(chuàng)建patient類的層次結(jié)構(gòu)
2.3 持久化功能的實(shí)現(xiàn)
2.3.1 保存數(shù)據(jù)
2.3.2 實(shí)現(xiàn)顯示病人歷史信息的功能
2.4 calories calculator的重構(gòu)版本
2.5 小結(jié)
第3章 組建重構(gòu)工具箱
3.1 使用自動(dòng)化的重構(gòu)工具
3.1.1 jetbrains提供的resharper
3.1.2 developer express提供的refactor! pro
3.1.3 developer express提供的refactor! for asp
3.1.4 visual studio的重構(gòu)功能
3.2 單元測(cè)試的基本要素:測(cè)試用具
3.2.1 單元測(cè)試架構(gòu)出現(xiàn)的原因
3.2.2 nunit的初體驗(yàn)
3.2.3 nunit的安裝
3.2.4 使用示例
3.2.5 實(shí)現(xiàn)第一個(gè)測(cè)試
3.2.6 測(cè)試驅(qū)動(dòng)的方法
3.2.7 可考慮的其他測(cè)試工具
3.3 關(guān)于版本控制的一些問題
3.3.1 作為備份系統(tǒng)的版本控制
3.3.2 版本控制和并發(fā)
3.4 小結(jié)
第4章 應(yīng)用程序的原型:rent-a-wheels
4.1 會(huì)見客戶
4.1.1 會(huì)見經(jīng)理
4.1.2 會(huì)見前臺(tái)接待員
4.1.3 會(huì)見停車場(chǎng)服務(wù)員
4.1.4 會(huì)見維護(hù)人員
4.2 實(shí)施rent-a-wheels項(xiàng)目中最初的步驟
4.2.1 參與者和用例
4.2.2 汽車的狀態(tài)
4.2.3 應(yīng)用程序主窗口的第一次草圖
4.2.4 rent-a-wheels開發(fā)團(tuán)隊(duì)的會(huì)議
4.3 讓原型運(yùn)轉(zhuǎn)
4.3.1 檢查數(shù)據(jù)庫模型
4.3.2 檢查c#代碼
4.4 快速的編程方法
4.4.1 數(shù)據(jù)庫驅(qū)動(dòng)的設(shè)計(jì)
4.4.2 基于gui的應(yīng)用程序
4.4.3 事件驅(qū)動(dòng)的編程
4.4.4 快速應(yīng)用程序開發(fā)
4.4.5 將復(fù)制/粘貼作為代碼重用的機(jī)制
4.4.6 通過重構(gòu)過程從原型到最后交付
4.5 小結(jié)
第5章 基本的代碼清理
5.1 消除無用代碼
5.1.1 無用代碼的類型
5.1.2 無用代碼常見的來源
5.2 降低過度暴露的元素的作用域和訪問級(jí)別
5.2.1 作用域和訪問級(jí)別
5.2.2 過度暴露常見的來源
5.2.3 處理過度暴露的問題
5.3 使用顯式導(dǎo)入
5.4 刪除未使用的程序集引用
5.5 rent-a-wheels應(yīng)用程序中的基本清理工作
5.6 小結(jié)
第6章 從問題域到代碼:消除差距
6.1 理解問題域
6.1.1 第1步:收集信息
6.1.2 第2步:就詞匯表達(dá)成一致意見
6.1.3 第3步:描述交互作用
6.1.4 第4步:建立原型
6.2 命名的指導(dǎo)原則
6.2.1 大寫風(fēng)格
6.2.2 簡(jiǎn)單的命名指導(dǎo)原則
6.2.3 良好的溝通:選擇恰當(dāng)?shù)膯卧~
6.2.4 "重命名"重構(gòu)
6.2.5 visual studio中的"重命名"重構(gòu)
6.3 已發(fā)布接口和公有接口
6.3.1 自包含的應(yīng)用程序與可重用的模塊
6.3.2 修改已發(fā)布接口
6.4 rent-a-wheels應(yīng)用程序中的"重命名"和"安全重命名"重構(gòu)
6.5 小結(jié)
第7章 對(duì)重復(fù)代碼進(jìn)行方法提取
7.1 封裝代碼和隱藏細(xì)節(jié)
7.2 分解方法
7.2.1 周長計(jì)算--長方法的一個(gè)示例
7.2.2 提取周長計(jì)算的代碼
7.2.3 提取計(jì)算半徑的代碼
7.2.4 提取"等待用戶關(guān)閉"代碼
7.2.5 提取讀取坐標(biāo)的代碼
7.2.6 visual studio中的extract method重構(gòu)
7.3 方法內(nèi)聯(lián)化
7.4 重復(fù)代碼的味道
7.4.1 重復(fù)代碼的來源
7.4.2 復(fù)制/粘貼式編程
7.4.3 幻數(shù)
7.5 rent-a-wheels應(yīng)用程序中的"提取方法"和"用常量取代幻數(shù)"重構(gòu)
7.6 小結(jié)
第8章 方法合并與方法提取的技術(shù)
8.1 臨時(shí)變量的處理
8.1.1 "將聲明靠近引用處"重構(gòu)
8.1.2 "將初始化移至聲明處"重構(gòu)
8.1.3 "拆分臨時(shí)變量"重構(gòu)
8.1.4 "臨時(shí)變量內(nèi)聯(lián)化"重構(gòu)
8.1.5 "用查詢?nèi)〈R時(shí)變量"重構(gòu)
8.1.6 引入解釋性的臨時(shí)變量
8.2 處理長條件和嵌套條件
8.3 方法重組與rent-a-wheels
8.3.1 刪除rent-a-wheels中的重復(fù)代碼
8.3.2 rent-a-wheels中的"幻數(shù)"、"注釋"以及"事件處理盲目性"味道
8.4 小結(jié)
第9章 發(fā)現(xiàn)對(duì)象
9.1 面向?qū)ο缶幊痰暮?jiǎn)單回顧
9.1.1 oop中的對(duì)象
9.1.2 封裝與對(duì)象
9.1.3 visual studio中的"封裝字段"重構(gòu)
9.1.4 對(duì)象狀態(tài)的保持
9.1.5 類
9.1.6 對(duì)象標(biāo)識(shí)
9.1.7 作為基本構(gòu)建塊的對(duì)象
9.1.8 根對(duì)象
9.1.9 對(duì)象的生存期和垃圾回收
9.2 類的設(shè)計(jì)
9.2.1 使用分析產(chǎn)物
9.2.2 類是名詞,操作是動(dòng)詞
9.2.3 類、責(zé)任和協(xié)作者
9.2.4 在頭腦風(fēng)暴會(huì)議中運(yùn)用卡片
9.2.5 實(shí)體和關(guān)系
9.3 發(fā)現(xiàn)隱藏的類
9.3.1 處理數(shù)據(jù)庫驅(qū)動(dòng)的設(shè)計(jì)
9.3.2 從過程式設(shè)計(jì)到面向?qū)ο笤O(shè)計(jì)的轉(zhuǎn)移
9.3.3 領(lǐng)域?qū)?、表示層和持久化層的分離
9.3.4 發(fā)現(xiàn)對(duì)象與rent-a-wheels應(yīng)用程序
9.4 小結(jié)
第10章 面向?qū)ο蟮母呒?jí)概念和相關(guān)的重構(gòu)
10.1 繼承、多態(tài)性和泛型
10.1.1 繼承
10.1.2 類繼承與接口繼承
10.1.3 多態(tài)性
10.1.4 泛型
10.2 繼承的濫用和重構(gòu)解決方案
10.2.1 誤用為繼承的組合和其他誤用情形
10.2.2 繼承的重構(gòu)--打印系統(tǒng)的示例
10.2.3 用委托替代打印系統(tǒng)中的繼承
10.3 泛型的使用
10.4 rent-a-wheels應(yīng)用程序中的繼承和泛型
10.4.1 提取超類
10.4.2 運(yùn)用泛型
10.4.3 提取dataobjectsprovider類
10.5 小結(jié)
第11章 大規(guī)模的代碼組織
11.1 命名空間
11.1.1 命名指導(dǎo)原則與命名空間的組織
11.1.2 嵌套的命名空間
11.1.3 修改默認(rèn)命名空間的名稱
11.1.4 使用using指令
11.2 程序集
11.2.1 二進(jìn)制重用
11.2.2 命名空間組織的指導(dǎo)原則
11.2.3 依賴性方面的考慮
11.3 c#項(xiàng)目文件的結(jié)構(gòu)組織
11.4 rent-a-wheels中命名空間的組織與windows窗體繼承
11.4.1 通過抽象窗體輔助類模式提取父管理窗體
11.4.2 命名空間和程序集的重組
11.5 小結(jié)
第12章 重構(gòu)為模式
12.1 什么是設(shè)計(jì)模式
12.1.1 設(shè)計(jì)模式的定義
12.1.2 模式的分類
12.1.3 模式的元素
12.1.4 權(quán)衡設(shè)計(jì)模式的利弊
12.1.5 模式的使用
12.2 設(shè)計(jì)模式的示例:抽象工廠模式
12.2.1 抽象工廠模式的使用
12.2.2 解決方案
12.2.3 結(jié)果
12.3 依賴注入模式
12.3.1 使用依賴注入的問題
12.3.2 解決方案
12.3.3 基于構(gòu)造函數(shù)的注入與基于屬性的注入
12.3.4 應(yīng)該注入什么服務(wù)實(shí)現(xiàn)
12.3.5 di模式的優(yōu)點(diǎn)
12.3.6 重構(gòu)成di
12.4 重構(gòu)成模式與rent-a-wheels應(yīng)用程序
12.4.1 消除重復(fù).net架構(gòu)功能的代碼
12.4.2 通過依賴注入向gui類中注入data類
12.4.3 crud持久化模式
12.5 小結(jié)
第13章 linq和c# 3.0的其他增強(qiáng)功能
13.1 局部變量的類型推斷
13.1.1 自動(dòng)實(shí)現(xiàn)的屬性
13.1.2 擴(kuò)展方法
13.1.3 對(duì)象、數(shù)組和集合的初始化器
13.1.4 通過linq查詢對(duì)象
13.1.5 舊示例換新顏
13.1.6 通過linq to sql進(jìn)行對(duì)象-關(guān)系映射
13.1.7 linq與rent-a-wheels應(yīng)用程序
13.2 小結(jié)
第14章 web技術(shù)簡(jiǎn)史與asp.net重構(gòu)工具
14.1 refactor! for asp.net
14.1.1 調(diào)用refactor! for asp.net
14.1.2 refactor! for asp.net的用戶界面
14.2 html的歷史及其遺留問題
14.3 緊跟web
14.3.1 visual studio和xhtml
14.3.2 xml和編碼
14.3.3 visual studio中html的dtd驗(yàn)證
14.3.4 提供嚴(yán)格的xhtml
14.4 小結(jié)
第15章 asp.net應(yīng)用程序的重構(gòu)
15.1 html的重構(gòu)
15.1.1 格式完整的xhtml文檔
15.1.2 xhtml的有效性
15.1.3 用于升級(jí)遺留的、非遵從xhtml的標(biāo)記的工具支持
15.1.4 以優(yōu)美的格式打印html文檔
15.1.5 將結(jié)構(gòu)與表示分離
15.1.6 通過rest來使用http
15.2 asp.net代碼的重構(gòu)
15.2.1 asp.net代碼模型:?jiǎn)挝募痛a隱藏
15.2.2 母版頁面
15.2.3 web用戶控件與自定義的服務(wù)器控件
15.3 rent-a-wheels與asp.net重構(gòu)
15.4 小結(jié)
附錄a rent-a-wheels原型的內(nèi)部機(jī)理
附錄b refactor! for asp.net揭密

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)