突っ走り書き

見せるほどのものでは..

ライブラリとフレームワークの違い

今日,次の文章を偶然目にしました.

制御の逆転の存在が、フレームワークとライブラリを決定的に違うものにしている。 ライブラリとは、基本的に呼び出し可能な関数の集まりである。最近では、通常はクラスの集まりとして構成されている。 関数を呼び出すと、何らかの作業を行い、クライアントに制御を返す。
一方、フレームワークは、抽象的な設計を含んでおり、より多くの振る舞いが組み込まれている。 フレームワークを使うには、作成したクラスを、サブクラス化やプラグインによって、フレームワークに組み込む。フレームワークのコードが、作成したクラスのコードを組み込まれた場所で呼び出す。


これを読んで,

というイメージなのかな,と感じました.

  • ライブラリは道具だから,ライブラリが返した値を処理するコードを書かなければいけないし,
  • フレームワークは窓口だから,窓口の裏側で使われるコードを書かなければいけない(=制御の逆転),

という感じ.