実践的なPythonを通じて知るオブジェクト指向
実務で利用されるプログラミングに対するアプローチには ・関数によるアプローチ ・オブジェクト指向によるアプローチなど、 さまざまありますが、本書では、一つのアプローチとして Pythonのコードを使用したオブジェクト指向の設計手法をご紹介します。 ・Pythonのコードも交えながら、オブジェクトはどうあるべきなのか。どのようにオブジェクト間の設計をおこなえばよいのかを解説します。 ・一般的に知られている原則を積極的に紹介しています。 ・「関連」といった言葉を習ったけれど、コード的にどのように実装するのかわからないといった人のために途中のチャプターからは、クラス図とともに説明します。 ※本の内容は随時更新しております。 ☟更新情報を記載しております。改善要望等はこちらのコメント欄へお願いいたします。疑問点なども回答できる範囲でお答えいたします(議論等も大歓迎です)。 https://zenn.dev/timoneko/scraps/52a3976ddd1de3
Chapters
はじめに ~オブジェクト指向が目指すもの~
環境構築
解説1-1 オブジェクト・クラス・インスタンスとは?
解説1-2 関数(function)とメソッド(method)の解説
解説1-3 クラス変数とインスタンス変数
実践1 ライブラリを使って画面を用意してみよう。
解説2 オブジェクトに責務を持たせる。
解説2-1 ユーティリティクラス
解説2-2 オブジェクトを「現実の対象物」として捉えることの弊害
実践2 サイコロクラスを自作しよう
解説3-1 カプセル化とプロパティ
解説3-2 デメテルの法則/最小知識の原則を守る?
解説3-3 データクラス/pydantic
実践3-1 プロパティ機構を利用してみよう。
実践3-2 属性を後から追加できないようにする。
解説4-1 多態性(ポリモーフィズム)を用いたプログラムの拡張
解説4-2 仕様に依存するということ
実践4 画面からサイコロの目を出す。
解説5 自動テストとコードの品質管理
実践5 テストコードの作成
解説6 クラス間の関係(クラス図)
解説 7 モデルとビューとコントローラと
実践7-1 処理をMVC化してみよう
実践 7-2 メニューを追加して、サイコロを変更できるようにする。
実践7-3 抽象クラスでテンプレートパターンを活用する。
解説8-1 オブジェクトのライフサイクル
解説8-2 生成を別のクラスにお願いする。
実践8 DIとシングルトンを実装する。
解説9-1 設計手法「転送」
解説10-1 オブジェクト間の協調 ~コラボレーション
解説10-2 オブジェクトの独立 ~完全コンストラクタ
解説11 コンポーネントの再利用(フレームワークの移植)
解説12 オブジェクト指向とRDBのインピーダンスミスマッチ
実践12 ORMを利用してみよう。
解説13 副作用の観点からみる、コマンドクエリ分離の原則
(付録1) オブジェクト指向で出てくる用語
(付録2) 参考文献
Community
Author
ITエンジニア/実務ではよくOOP系統の言語Python, Java等を利用してアプリケーション開発を行っていました。現在はAI Researcher。 上流から下流までフルスタック。/オブジェクト指向の記事を掲載中です。→zenn.dev/timoneko/books/78460a539d033f
Topics
- 公開
- 本文更新
- 文章量
- 約79,504字
- 価格
- 2,000円