kzk0829’s blog

機械学習の学習のアウトプット+技術的な事+ポエム

オブジェクト指向でなぜつくるのか 第6章

はじめに

kzk0829.hatenablog.com

これの続き

OOPがもたらしたソフトウェアとアイデアの再利用

  • OOPで開発するときは、毎回ゼロから作るわけではなく、再利用するよね
  • ソフトウェアの再利用とアイデアの再利用についての章

ソフトウェアの再利用

  - クラスライブラリ - フレームワーク - コンポーネント

といったようなものたち。

クラスライブラリ

汎用的な機能を持つクラスを集めたもの。
アプリケーションから呼び出して利用したりする。
標準のクラスライブラリや外部のクラスライブラリ等がある。

  • 言語の標準クラスライブラリ
  • 外部のクラスライブラリ
    • 上記PHPのDateTimeをラップした日付操作ライブラリのCarbon github.com

フレームワーク

特定のプログラミング言語で書かれた、特定の目的を持つ再利用部品群のこと
基本的な制御の流れをフレームワーク側で用意して、アプリケーションで個別の処理を組み込む
クラスライブラリとは違い、フレームワークがアプリケーションの処理を呼び出す

LaravelやRuby on Rails

イデアの再利用

デザインパターン

設計のパターンのこと
再利用がしやすいソフトウェアを作るために先人たちが工夫したアイデアを文書にまとめたものである。
特に有名なのが、GoFのデザインパターン

まとめ

この章は、再利用にはこのようなパターンがあるよという話で、具体的な話はなかった。
ただ、ライブラリやフレームワークに関しては、当たり前のように使っていたものの定義をしっかりと確認できてよかった。