デザインパターン5:Command,NullObject,Builder【C#】
What you'll learn
- デザインパターン設計を学ぶことができる
- Commandパターンを理解することができる
- NullObjectパターンを理解することができる
- Builderパターンを理解することができる
Requirements
- カプセル化、インタフェース、継承についてある程度理解していること
- サンプルコードはC#を使用しているため,ある程度C#コードが理解できること(javaなどのオブジェクト指向言語がわかれば理解できるとは思います)
- サンプルコードはC#特有の実装方法であるプロパティなどを含んでいます。それでもいいという方のみご受講ください。
- クラス図が理解できない方は「デザインパターン1」を受講後に本コースを受講してください
Description
どうもこんにちは、ピーコックアンダーソンです。
今回はデザインパターンの5つ目のコースということで、
以下の3つのパターンを収録してます。
・Commandパターン
・NullObjectパターン
・Builderパターン
【Commandパターン】
Commandパターンでは、
「Undo/Redo編」と、「キューイング編」の大きく2つに分けて解説しています。
Undo/Redoとは、アプリケーションを操作していて、
前の操作に戻したい、前の前の操作の状態に戻したいという場合に、
以前の状態に戻すことができるデザインパターンです。
エクセルなどの入力では、入力間違いなどをすると、
「前に戻す」ということをよくすると思いますが、
そういった操作を実現するための実装パターンになります。
キューイング編は、非同期での複数の命令を整列させて、
1つずつ処理していく場合に使用するデザインパターンです。
機器との通信処理や、ゲームのボタンの連打などに使えるパターンになります。
【NullObjectパターン】
NullObjectパターンは、データを返却するサービスプログラムが、
「Null」を返却せずに、「Nullオブジェクト」を返却するデザインパターンです。
これにより、クライアントコードは、Nullチェックをすることなく
実装することができ、コードを簡潔に書けるようになります。
【Builderパターン】
Builderパターンは、パラメータが多かったり、
用途ごとに設定項目などが多いクラスに対して、
クライアントが簡単にインスタンスの生成をするための
ビルダークラスというものを用いるデザインパターンです。
このビルダークラスにより、複雑なクラスを
用途ごとに簡単に生成できるようになります。
このような3つのパターンを
徹底的に掘り下げて解説してますので、
興味のある方はご覧になってみてください。
Who this course is for:
- GoFのデザインパターンをC#で学びたい方
Instructor
20年ほどプログラマーとして活動しています。初期の頃はいろんな現場を転々とするプログラマーで10年ほど経験をつみ,その後,大手メーカーに入社し,C#やSQLServerを中心とした製品開発にて設計,製作,保守,プロジェクトリーダー等を10年近く担当。
知識習得のきっかけは,現場に分かりづらいプログラムコードが散乱しており,それらをわかりやすくするために,オブジェクト指向,ドメイン駆動開発,テスト駆動開発,リファクタリング,デザインパターンの書籍などを読み漁りました。その結果,一つのドメイン駆動開発手法にいまはたどり着き,チームのメンバーに伝えていますが,この知識を大勢の方にお伝えすると,予想以上に喜んで頂けているので,私の学んだ知識をできるだけわかりやすくお伝えして,私のした遠回りをあまりしなくてもいいように,解説していきたいと思っています。