More Effective C# 6.0/7.0―API設計、非同期プログラミング、動的プログラミング、並列処理をクールに使い倒す50の方法

個数:
電子版価格
¥3,740
  • 電子版あり

More Effective C# 6.0/7.0―API設計、非同期プログラミング、動的プログラミング、並列処理をクールに使い倒す50の方法

  • ウェブストアに1冊在庫がございます。(2025年08月11日 17時24分現在)
    通常、ご注文翌日~2日後に出荷されます。
  • 出荷予定日とご注意事項
    ※上記を必ずご確認ください

    【ご注意事項】 ※必ずお読みください
    ◆在庫数は刻々と変動しており、ご注文手続き中に減ることもございます。
    ◆在庫数以上の数量をご注文の場合には、超過した分はお取り寄せとなり日数がかかります。入手できないこともございます。
    ◆事情により出荷が遅れる場合がございます。
    ◆お届け日のご指定は承っておりません。
    ◆「帯」はお付けできない場合がございます。
    ◆画像の表紙や帯等は実物とは異なる場合があります。
    ◆特に表記のない限り特典はありません。
    ◆別冊解答などの付属品はお付けできない場合がございます。
  • ●3Dセキュア導入とクレジットカードによるお支払いについて
    ●店舗受取サービス(送料無料)もご利用いただけます。
    ご注文ステップ「お届け先情報設定」にてお受け取り店をご指定ください。尚、受取店舗限定の特典はお付けできません。詳細はこちら
  • サイズ B5変判/ページ数 256p/高さ 23cm
  • 商品コード 9784798153988
  • NDC分類 007.64
  • Cコード C3055

出版社内容情報

C#によるソフトウェア開発をストレスフリーにする60の方法API設計、非同期プログラミング、動的プログラミング、

並列処理をクールに使い倒す50の方法



【本書の内容】

“Effective SOFTWARE DEVELOPMNET SERIES”のC#エディション最新版。

もちろん、最新機能の完全網羅ではなく、日常的に遭遇しそうな問題を

解決する、実用的なアドバイスをさまざまなサンプルとともに提供します。



通常、これまでのバージョンにおいて、実装するにあたって困難だったり

手順が入り組んでいるなど、開発者の負担を軽減するために導入されるのが

新機能です。



馴染みのやり方ではなく、新しい手法を導入するのは心理的なハードルが

上がる場合もありますが、本書ではそのハードルをさげるため、なぜ言語の

補強によってより良い方法が可能になったのかまで、詳説しています。



【本書のポイント】

・最新版C#に搭載された新機能を把握できる

・上記新機能を的確に使えるようになる

・なぜそうしたほうがよいのか、を理屈ベースで理解できる

・よりよいプロダクトを構築できるようになる



【本書の目次】

第1章:データの型

第2章:API設計

第3章:タスクベースの非同期プログラミング

第4章:並列処理

第5章:動的プログラミング

第6章:グローバルなC#コミュニティに参加しよう



第1章 データ型の扱い

 項目1 アクセス可能なデータメンバーの代わりにプロパティを使おう

 項目2 可変データには暗黙のプロパティを使おう

 項目3 値型は可変より不変が好ましい

 項目4 値型と参照型の違いを正しく理解しよう

 項目5 値型では0も有効な状態にしよう

 項目6 プロパティはデータらしく実装しよう

 項目7 匿名型やタプルは型のスコープを限定するのに使える

 項目8 匿名型にローカル関数を定義する

 項目9 さまざまな同一性が、どういう関係にあるかを把握しよう

 項目10 GetHashCode()の罠に注意



第2章 API設計

 項目11 独自のAPIでは変換演算子を定義しない

 項目12 省略可能なパラメータを使ってメソッドの多重定義を減らそう

 項目13 独自の型は可視性を制限しよう

 項目14 継承するよりインターフェイスを定義して実装しよう

 項目15 インターフェイスメソッドと仮想メソッドの違い

 項目16 通知のイベントパターンを実装しよう

 項目17 内部オブジェクトへの参照を返さないように注意しよう

 項目18 イベントハンドラよりオーバーライドが好ましいとき

 項目19 基底クラスに定義のあるメソッドを多重定義しない

 項目20 オブジェクトの結合はイベントによって実行時に強まる

 項目21 イベントをvirtual宣言するのは避けよう

 項目22 明瞭で最小で完全なメソッドグループを作ろう

 項目23 部分クラスにはコンストラクタ、ミューテータ、イベントハンドラの部分メソッドを入れる

 項目24 ICloneableは設計の選択肢を狭めるので避けよう

 項目25 配列をパラメータとして使うのはparams配列だけにしよう

 項目26 イテレータや非同期メソッドのエラーは、ローカル関数で即座に報告できる



第3章 タスクベースの非同期プログラミング

 項目27 非同期処理には非同期メソッドを使おう

 項目28 async voidメソッドを書くべからず

 項目29 同期メソッドと非同期メソッドの混成を避けよう

 項目30 非同期処理に不要なスレッド割り当てを避けよう

 項目31 不要なコンテクスト切り替えを避けよう

 項目32 複数のTaskオブジェクトで非同期処理を構成する

 項目33 タスクのキャンセルや進捗報告を行うプロトコルを実装する

 項目34 総称的なValueTask型で非同期処理の戻り値をキャッシュする



第4章 並列処理

 項目35 PLINQによる並列アルゴリズムの実装を学ぼう

 項目36 並列アルゴリズムは例外を考慮して構築しよう

 項目37 スレッドを作る代わりにスレッドプールを使おう

 項目38 スレッド間通信にはBackgroundWorkerを使おう

 項目39 XAML環境でのスレッド間コールを理解しよう

 項目40 同期をとるにはlock()を最初の選択肢にしよう

 項目41 スコープが最小限のロックハンドルを使おう

 項目42 ロックしたセクションで未知のコードを呼び出さない



第5章 動的プログラミング

 項目43 動的型付けの長所と短所を理解しよう

 項目44 動的型付けで、ジェネリックな型パラメータの実行時の型を活用する

 項目45 データ駆動の動的な型は、DynamicObjectかIDynamicMetaObjectProviderで作ろう

 項目46 Expression APIの使い方を理解しよう

 項目47 パブリックAPIでは、動的オブジェクトを最小限にしよう



第6章 グローバルなC#コミュニティに参加しよう

 項目48 人気のある答えではなく、最良の答えを探そう

 項目49 言語の仕様と実装に参加しよう

 項目50 アナライザによる実践の自動化を考慮しよう



Bill Wagner[ビル ワグナー]
著・文・その他

吉川 邦夫[ヨシカワ クニオ]
翻訳

吉川 邦夫[ヨシカワ クニオ]
監修

目次

第1章 データ型の扱い
第2章 API設計
第3章 タスクベースの非同期プログランミグ
第4章 並列処理
第5章 動的プログラミング
第6章 グローバルなC#コミュニティに参加しよう

著者等紹介

ワグナー,ビル[ワグナー,ビル] [Wagner,Bill]
もっとも重用なC#開発者の1人であり、ECMA C# Standards Committeeのメンバー。Humanitarian ToolboxのPresidentであり、Microsoft Regional Directorの役職を持ち、.NET MVPを11年受賞し、.NET Foundation Advisory Councilに任命されている。新事業から大企業まで数多くの会社で働き、ソフトウェア開発のプロセスを改善し、それらのソフトウェア開発チームを成長させてきた。Microsoftの.NETのCore contentチームに勤め、C#言語と.NET Coreに関心のある開発者のために学習用のマテリアルを作っている。イリノイ大学アーバナ・シャンペーン校でコンピュータサイエンスの学士号を授かっている(本データはこの書籍が刊行された当時に掲載されていたものです)
※書籍に掲載されている著者及び編者、訳者、監修者、イラストレーターなどの紹介情報です。

感想・レビュー

※以下の感想・レビューは、株式会社ブックウォーカーの提供する「読書メーター」によるものです。

YUKI

2
業務でやたら非同期処理を触るようになり、ちゃんと勉強しようと非同期処理をメインに読む。複数タスクまわりの説明は勉強になりました。その後に改めてMicrosoftの非同期処理の説明を読むと頭に入りやすかった。まだ読んでない箇所もあるし、何度も再読しそうな1冊。2022/04/01

0
「Effective C# 6.0/7.0」に引き続き参考になった。ただ後半部分はUnity使いとしては関係が薄い部分が多かったので流し読みになった。2025/05/23

いえっさ

0
相変わらずナイスなシリーズでした。 async/await周りの話、dynamicの取り扱いについては非常に為になった。2022/04/01

fjt7tdmi

0
「項目49 言語の仕様と実装に参加しよう」わらう

外部のウェブサイトに移動します

よろしければ下記URLをクリックしてください。

https://bookmeter.com/books/12600283
  • ご注意事項

    ご注意
    リンク先のウェブサイトは、株式会社ブックウォーカーの提供する「読書メーター」のページで、紀伊國屋書店のウェブサイトではなく、紀伊國屋書店の管理下にはないものです。
    この告知で掲載しているウェブサイトのアドレスについては、当ページ作成時点のものです。ウェブサイトのアドレスについては廃止や変更されることがあります。
    最新のアドレスについては、お客様ご自身でご確認ください。
    リンク先のウェブサイトについては、「株式会社ブックウォーカー」にご確認ください。

最近チェックした商品