注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計C/C++及其相關(guān)C#函數(shù)式程序設(shè)計:經(jīng)典編程技術(shù)在現(xiàn)代項目中的應(yīng)用

C#函數(shù)式程序設(shè)計:經(jīng)典編程技術(shù)在現(xiàn)代項目中的應(yīng)用

C#函數(shù)式程序設(shè)計:經(jīng)典編程技術(shù)在現(xiàn)代項目中的應(yīng)用

定 價:¥45.00

作 者: (英)斯圖姆 著,吳文國 譯
出版社: 清華大學(xué)出版社
叢編項:
標(biāo) 簽: C C++ C# VC VC++ 程序設(shè)計 計算機/網(wǎng)絡(luò)

ISBN: 9787302302346 出版時間: 2013-01-01 包裝: 平裝
開本: 16開 頁數(shù): 254 字?jǐn)?shù):  

內(nèi)容簡介

  《C#函數(shù)式程序設(shè)計:經(jīng)典編程技術(shù)在現(xiàn)代項目中的應(yīng)用》絕大部分例子通過微軟.NET平臺上的C# 4.0語言來實現(xiàn)。少數(shù)幾個例子采用其他語言,但是它們只是起演示作用。如果讀者想測試這些例子,但是當(dāng)前使用的并不是C# 4.0或 Visual Studi0 2010版本,則用C# 3.0或Visual Studi0 2008也能得到同樣的效果—在C# 4.0中,新增加的功能并不是很多,而且這些功能都沒有應(yīng)用到例子中。但是,有幾個例子利用了.NET Framework的功能(如Parallel Extensions),這些功能只出現(xiàn)在.NET 4.0中?!禖#函數(shù)式程序設(shè)計:經(jīng)典編程技術(shù)在現(xiàn)代項目中的應(yīng)用》介紹函數(shù)式程序設(shè)計的基本概念,以及如何把這些概念應(yīng)用到C#語言中。作者盡量提供具有實用背景的示例,但是大多數(shù)例子只考慮到語言因素。函數(shù)式程序設(shè)計是一種與代碼、算法和程序結(jié)構(gòu)有關(guān)的技術(shù)——這一點不同于程序的體系結(jié)構(gòu)。當(dāng)然,它需要與程序的體系結(jié)構(gòu)相兼容。須知,有時很難在太理論化與偏離重點之間做到理想的平衡,但是作者已盡了最大的努力。在編寫《C#函數(shù)式程序設(shè)計:經(jīng)典編程技術(shù)在現(xiàn)代項目中的應(yīng)用》時,作者專門開發(fā)了一個函數(shù)式的輔助代碼庫,即FCSlib(Functional CSharp Library)。讀者在自己的項目中可以隨意使用這個庫,但是需要指出的是,該庫無法提供任何保證。包含這個庫代碼的下載文件(有關(guān)下載文件的更多信息,請參閱“源代碼”一節(jié)的內(nèi)容)中還包括一個應(yīng)用于FCSlib代碼的LGPL許可文件。

作者簡介

  Oliver Sturm有20多年的專業(yè)軟件開發(fā)經(jīng)驗。他是應(yīng)用程序體系結(jié)構(gòu)、程序設(shè)計語言和DevExpress開發(fā)的第三方NET工具等多個領(lǐng)域的專家。自2002年開始,他的主要興趣在于NET平臺。Oliver曾在許多國際會議上發(fā)表過演說,編寫了20多個培訓(xùn)課程,并在雜志上用英語和德語發(fā)表了100多篇文章。他也曾從事計算機基礎(chǔ)編程教學(xué)15年之久。由于他對NET社區(qū)所做的貢獻(xiàn),因此多次獲得微軟英國最佳C#程序員稱號。以蘇格蘭為據(jù)點,Oliver主要從事自由咨詢師和培訓(xùn)師的工作,同時還是國際咨詢公司thinktecture的顧問。吳文國,博士,溫州大學(xué)物理與電子信息學(xué)院副教授。其研究方向是計算機圖形學(xué)和地球物理及探測技術(shù),主要從事面向?qū)ο蟪绦蛟O(shè)計、數(shù)據(jù)結(jié)構(gòu)等基礎(chǔ)課程的教學(xué)工作。他工作之余還從事軟件開發(fā)和翻譯工作,已翻譯出版了《交互式計算機圖形學(xué)——基于OpenGL的自頂向下方法(第4版)》、《UNIX原理與應(yīng)用(第4版)》等10多本計算機圖書。另外,他還在《計算機輔助設(shè)計與圖形學(xué)學(xué)報》、《中國物理快報》、《電子學(xué)報》等雜志上發(fā)表過多篇文章。

圖書目錄

第Ⅰ部分 函數(shù)式程序設(shè)計引言
第1章 函數(shù)式程序設(shè)計簡史
1.1 函數(shù)式程序設(shè)計簡介
1.2 函數(shù)式程序設(shè)計語言
1.3 與面向?qū)ο蟪绦蛟O(shè)計的關(guān)系
1.4 小結(jié)
第2章 函數(shù)式程序設(shè)計思想在現(xiàn)代項目中的應(yīng)用
2.1 控制副作用
2.2 敏捷開發(fā)方法
2.3 聲明式程序設(shè)計
2.4 函數(shù)式程序設(shè)計的定向思維
2.5 用C#實現(xiàn)函數(shù)式程序設(shè)計的可行性
2.6 小結(jié)
第Ⅱ部分 C#函數(shù)式程序設(shè)計基礎(chǔ)
第3章 函數(shù)、委托和Lambda表達(dá)式
3.1 函數(shù)與方法
3.2 重用函數(shù)
3.3 匿名函數(shù)與Lambda表達(dá)式
3.4 擴展方法
3.5 引用透明
3.6 小結(jié)
第4章 泛型
4.1 泛型函數(shù)
4.2 泛型類
4.3 約束類型
4.4 其他泛型類型
4.5 協(xié)變與逆變
4.6 小結(jié)
第5章 惰性列表工具——迭代器
5.1 什么是惰性
5.2 用.NET方法枚舉元素
5.3 迭代器函數(shù)的實現(xiàn)
5.4 鏈?zhǔn)降?br />5.5 小結(jié)
第6章 用閉包封裝數(shù)據(jù)
6.1 動態(tài)創(chuàng)建函數(shù)
6.2 作用域存在的問題
6.3 閉包的工作機制
6.4 小結(jié)
第7章 代碼即數(shù)據(jù)
7.1 .NET中的表達(dá)式樹
7.2 分析表達(dá)式
7.3 生成表達(dá)式
7.4 .NET 4.0特性
7.5 小結(jié)
第Ⅲ部分 用C#實現(xiàn)常用的函數(shù)式設(shè)計技術(shù)
第8章 局部套用與部分應(yīng)用
8.1 參數(shù)的解耦
8.1.1 手動局部套用
8.1.2 自動局部套用
8.1.3 調(diào)用局部套用函數(shù)
8.1.4 類上下文
8.1.5 FCSlib庫的內(nèi)容
8.2 調(diào)用函數(shù)的各部分
8.3 參數(shù)順序的重要性
8.4 小結(jié)
第9章 惰性求值
9.1 惰性求值的優(yōu)點
9.2 傳遞函數(shù)
9.3 顯式的惰性求值
9.4 惰性求值方法的比較
9.4.1 可用性
9.4.2 效率
9.5 惰性求值方法的選擇
9.6 小結(jié)
第10章 緩存技術(shù)
10.1 記住以前結(jié)果的重要性
10.2 預(yù)計算
10.3 緩存
10.3.1 深度緩存
10.3.2 緩存的幾個考慮因素
10.4 小結(jié)
第11章 遞歸調(diào)用
11.1 C#中的遞歸
11.2 尾遞歸
11.3 累加器傳遞模式
11.4 后繼傳遞模式
11.5 間接遞歸
11.6 小結(jié)
第12章 標(biāo)準(zhǔn)高階函數(shù)
12.1 應(yīng)用運算:Map
12.2 使用篩選條件:Filter
12.3 累加操作:Fold
12.4 LINQ中的Map、Filter和Fold
12.5 標(biāo)準(zhǔn)高階函數(shù)
12.6 小結(jié)
第13章 序列
13.1 何為列表推導(dǎo)
13.2 用函數(shù)方法實現(xiàn)迭代器
13.3 值域
13.4 限制
13.5 小結(jié)
第14章 由函數(shù)構(gòu)建函數(shù)
14.1 組合函數(shù)
14.2 高級的部分應(yīng)用
14.3 各種方法的綜合
14.4 小結(jié)
第15章 可選值
15.1 空值的含義
15.2 可選值的實現(xiàn)
15.3 小結(jié)
第16章 防止數(shù)據(jù)變化
16.1 變化不總是件好事
16.2 錯誤的假定
16.2.1 靜態(tài)數(shù)據(jù)受歡迎
16.2.2 深度問題
16.2.3 克隆
16.2.4 自動克隆
16.3 實現(xiàn)不可變?nèi)萜鲾?shù)據(jù)類型
16.3.1 鏈表
16.3.2 隊列
16.3.3 非平衡的二叉樹
16.3.4 紅黑樹
16.4 持久數(shù)據(jù)類型的替代選擇
16.5 小結(jié)
……
第Ⅳ部分 函數(shù)式設(shè)計的實際應(yīng)用

本目錄推薦

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