LoginSignup
37

More than 5 years have passed since last update.

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

Last updated at Posted at 2015-07-05

前書き

開発中で、ほぼすべてのプロジェクトがライブラリとフレームワークを利用しています。
ライブラリとフレームワークが区別つかない、設計時に困るケースはあると思います。
それで、ライブラリはフレームはなんにか違うのかを調べました。

ライブラリは呼ばない限り何にも実行されない 

ユーザの指示コードがなければ、ライブラリは処理を行わないです。
ライブラリ単体では処理が行わないこと。

たとえば、ログ記録、メール送信などのライブラリはユーザで初期化して、処理するメソッドを呼ばない限りは、処理は実行されません。

フレームワークは利用時に既に色々処理してくれて、後は詳細を埋めるだけ 

フレームワークは逆の世界です。

初期化から実処理、終了までの流れを管理しています。

ユーザーは穴を埋めて行けば、予想通りの動作実現してくれます。

これはソフトウェア工学において、制御の反転(Inversion of Control、IoC)と呼ばれています。

たとえば、rails、playなどのMVCフレームワークでは、ユーザは必要なrouting、view、controller、modelを登録するだけで、動くアプリになります。

終わり

プロジェクト開発時には、大体プロジェクト専用のライブラリ群を自社開発必要があり、フレームワークと混乱せずに作りましょう!

参考

wiki 制御の反転

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
37