0502~0503_龍顏

【電子書】More Effective C#中文版:寫出良好C#程式的50個具體做法第二版

  • 450

活動訊息

想知道金石堂電子書怎麼用?無論通勤或在家,電腦或手機都能看,輕鬆運用零碎時間,讓閱讀更融入生活。

全館滿$1,200送150點金幣,4月歡慶兒童節,童書、玩具、文具滿1000元再送200點金幣!

內容簡介

涵蓋C# 7.0

在《More Effective C# 中文版 第二版》中,世界知名的.NET專家Bill Wagner指出並解說50個特定強大與效能良好的C# 7.0中高級技巧。針對可能遇到的問題,提出強而有力的新解法,以因應越來越複雜的C#語言與日漸龐大的開發社群。

歷經三個版本的《Effective C#》,Wagner清楚的解釋、專業的建議與實際範例程式碼,已被證明對成千上百位開發者而言是無價的。《More Effective C#,第二版》以經過驗證的相同方式介紹C# 7.0新功能,協助你更有效率地執行熟悉工作。

基於卓越的C#經驗,以及在全球C#標準委員會的關鍵性角色,Wagner強調以物件導向、函數式及服務導向的方式,以C#處理資料、以更好的方式向使用者與其他程式設計師表達您的用意、以及運用強大的非同步與動態程式設計。

‧使用屬性取代可存取的資料成員(做法1)
‧區分實質與參考型別(做法4)
‧了解多種相等概念之間的關係(做法9)
‧在你的API中避免轉換運算子(做法11)
‧了解介面與virtual methods之間差異(做法15)
‧避免在基底類別中定義方法多載(做法19)
‧建立清楚的、最少的、以及完整的方法群(做法22)
‧在iterators 及async方法中使用區域函式啟動立即錯誤回報(做法26)
‧非同步工作中使用async方法(做法27)
‧避免執行緒配置與context switches(做法30)
‧建構有考慮例外情況的平行演算法(做法36)
‧使用執行緒區集取代建立執行緒(做法37)
‧使用BackgroundWorker做跨執行緒通訊(做法38)
‧了解動態程式設計的利弊(做法43)
‧了解如何運用expression API(做法46)
‧在公開的APIs中減少動態物件的使用(做法47)

你已經是一位成功的C#程式設計師,本書會使你更為出色。

作者

Bill Wagner

Bill Wagner 是世界最頂尖的C#開發者之一。他是ECMA C#標準委員會的成員,並且是所有三個版本的《Effective C#》的作者。他是Humanitarian Toolbox的總裁、曾被委任為Microsoft Regional Director、當選11年的.NET MVP。最近並受.NET Foundation Advisory Council委任。Wagner曾協助的公司包括新創公司到大型企業,以改善開發過程與建立開發團隊。現在作為Microsoft .NET Core內容團隊的成員,創作開發者C#語言及.NET Core的訓練教材。

目錄

前言
第 1 章 處理資料型別
作法 01 使用屬性取代可存取的資料成員
作法 02 可變動的資料優先使用隱藏屬性
作法 03 實值型別優先使其具不可變性
作法 04 區分實值與參考型別
作法 05 確保 0 是實值型別的有效狀態
作法 06 確保屬性運作如資料一般
作法 07 使用 Tuples 限制型別的範圍
作法 08 在匿名型別上定義區域函式
作法 09 了解多種相等概念之間的關係
作法 10 了解 GetHashCode() 的陷阱

第 2 章 API 設計
作法 11 在你的 API 中避免轉換運算子
作法 12 使用選擇性引數減少方法的多載
作法 13 限制型別的可見性
作法 14 優先定義並實作介面進行繼承
作法 15 了解介面與 Virtual Method 之間差異
作法 16 為通知實作事件模式
作法 17 避免傳回內部類別物件的參考
作法 18 優先使用 Override 替代 Event Handler
作法 19 避免在基底類別中定義方法多載
作法 20 了解事件如何增進物件之間執行期的耦合
作法 21 只宣告 Nonvirtual Event
作法 22 建立清楚的、最少的,以及完整的方法群
作法 23 部分類別的建構函式、更動子與 Event handler 使用部分方法
作法 24 避免使用 ICloneable,因為它限制你的設計選擇
作法 25 Array 引數限制只使用 params 陣列
作法 26 在 Iterators 與 Async 方法中使用區域函式啟動立即錯誤回報

第 3 章 以Task 為基礎的非同步程式設計
作法 27 非同步工作使用 Async 方法
作法 28 永遠不要寫 async void 方法
作法 29 避免結合同步與非同步方法
作法 30 避免執行緒配置及 Context Switches
作法 31 避免非必要的封送處理(Marshalling)Context
作法 32 使用 Task 物件合成非同步工作
作法 33 考慮實作 Task 取消協定(Task Cancellation Protocol)
作法 34 緩衝擴充的非同步回傳值

第 4 章 平行處理
作法 35 學習 PLINQ 如何實作平行演算法
作法 36 建構有考慮例外情況的平行演算法
作法 37 使用執行緒區集取代建立執行緒
作法 38 使用 BackgroundWorker 做跨執行緒通訊
作法 39 了解 XAML 環境中的跨執行緒呼叫
作法 40 使用 lock() 作為同步處理的首選
作法 41 鎖定 Handles 使用最小可能的範圍
作法 42 避免在鎖定的區段呼叫不明的程式碼

第 5 章 動態程式設計
作法 43 了解動態程式設計的利弊
作法 44 透過動態型別運用泛型引數執行期的型別
作法 45 資料驅動(Data-Driven)動態型別使用 DynamicObject 或
IDynamicMetaObjectProvider
作法 46 了解如何運用 Expression API
作法 47 在公開的 API 中減少動態物件的使用

第 6 章 參與全球C# 社群
作法 48 尋求最好的答案,而不是最受歡迎的答案
作法 49 參與規格及程式碼的訂定
作法 50 考慮用分析器自動化慣用法

詳細資料

詳細資料

    • 語言
    • 中文繁體
    • 裝訂
    • ISBN
    • 9789864767892
    • 分級
    • 普通級
    • 頁數
    • 292
    • 商品規格
    • 18開17*23cm
    • 出版地
    • 台灣
    • 適讀年齡
    • 全齡適讀
    • 注音
    • 級別

商品評價

訂購/退換貨須知

加入金石堂 LINE 官方帳號『完成綁定』,隨時掌握出貨動態:

加入金石堂LINE官方帳號『完成綁定』,隨時掌握出貨動態
金石堂LINE官方帳號綁定教學

提醒您!!
金石堂及銀行均不會請您操作ATM! 如接獲電話要求您前往ATM提款機,請不要聽從指示,以免受騙上當!

購買須知:

使用金石堂電子書服務即為同意金石堂電子書服務條款

電子書分為「金石堂(線上閱讀+APP)」及「Readmoo(兌換碼)」兩種:

金石堂 電子書
  • 將儲存於會員中心→電子書服務「我的e書櫃」,點選線上閱讀直接開啟閱讀。
    1. 線上閱讀:
      建議使用Chrome、Microsoft Edge 有較佳的線上瀏覽效果, iOS 16 或以上版本,Android 6.0 以上版本,建議裝置有6GB以上的記憶體,至少有 30 MB以上的容量。
    2. 離線閱讀:
      APP下載:iOS Android
      安裝電子書APP後,請依照提示登入「會員中心」→「我的E書櫃」→「電子書APP通行碼/載具管理」,取得通行碼再登入下載您所購買的電子書。完成下載後,點選任一書籍即可開始離線閱讀。
Readmoo 電子書
  • 請至會員中心→電子書服務「我的e書櫃」領取複製『兌換碼』至電子書服務商Readmoo進行兌換。

退換貨須知:

  • 因版權保護,您在金石堂所購買的電子書僅能以金石堂專屬的閱讀軟體開啟閱讀,無法以其他閱讀器或直接下載檔案。
  • 依據「消費者保護法」第19條及行政院消費者保護處公告之「通訊交易解除權合理例外情事適用準則」,非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書、電子雜誌、下載版軟體、虛擬商品…等),不受「網購服務需提供七日鑑賞期」的限制。為維護您的權益,建議您先使用「試閱」功能後再付款購買。
※ 金石堂電子書怎麼看
金石堂門市 全家便利商店 ok便利商店 萊爾富便利商店 7-11便利商店
World wide
活動ing