スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
Prev.    Category    Next 

ライブラリー、ツールキット、フレームワーク 違いわかる?

今回はプログラミング関連のクイズです。

次の 3 つの違いが分かりますか?
  • ライブラリー
  • ツールキット
  • フレームワーク



GoF 本の説明

ライブラリーは定義がわかりやすいです。
しかし、ツールキットとフレームワークでは定義は曖昧なところがあります。

まず 『 GoF 本』 から定義を引用し、それを元に説明していくことにします。
用語 説明
ツールキット 有用でかつ汎用的な機能を提供するために設計された、関連しあう再利用可能なクラスの集合。
あらかじめ定義された 1 つあるいは複数のライブラリーのクラス
フレームワーク ある特定のソフトウェアを対象にした再利用可能な設計プロダクトを構成するクラスの集合。

ライブラリー

ライブラリーはプログラムのある特定の機能を部品化したファイルです。
よく使う機能をライブラリー化することによって複数のプログラムから利用出来るようになります。
prog_framework_library.png

ツールキット

ツールキットの目的はライブラリーとほとんど一緒です。
大きな違いは『 GoF 本』では 1 つでもいいと書いてありますが、 複数のライブラリーから成っていることでしょう。
prog_framework_toolkit.png
よく聞く例は GUI ツールキットだと思います。 これは GUI を構成する部品を提供するものです。
X Window システムに付属のものが Xt(X ツールキット) という名前のせいか tcl/tk 、 gtk++ 、 Qt と Unix 系ではツールキットの名称が使われることが多いです。

しかし、 ツールキットは GUI に限ったものではなく、有用でかつ汎用的な機能を提供する ものがツールキットです。

フレームワーク

フレームワークをそのまま訳すと 枠組み です。
ライブラリーとフレームワークとの一番の違いは、 ライブラリーがアプリケーションから利用されるのに対し、 フレームワークの場合はフレームワークにあわせてアプリケーションを作成するところです。
prog_framework.png
フレームワークはアプリケーションのアーキテクチャーも形成します。
フレームワークを使うことによって、 よく使う機能はもちろん定型的な処理や設計の大枠なども自分で実装する必要がなくなります。 つまり、アプリケーションの中身にだけ集中することができるということです。


なお、『 GoF 本』の定義からは外れてしまうかも知れませんが、 フレームワークはライブラリー群だけでなく、 テンプレートの生成などのツールも含めることがあります。

また、 ツールキットがフレームワークとして提供されたりもします。 GUI ツールキットが高機能化してきて、 Qt などはツールキットであり、かつフレームワークでもあります。


関連記事
スポンサーサイト
Prev.    Category    Next 

Facebook コメント


コメント

コメントの投稿

Font & Icon
非公開コメント

このページをシェア
アクセスカウンター
アクセスランキング
[ジャンルランキング]
コンピュータ
11位
アクセスランキングを見る>>

[サブジャンルランキング]
プログラミング
2位
アクセスランキングを見る>>
カレンダー(アーカイブ)
プルダウン 降順 昇順 年別

07月 | 2017年08月 | 09月
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -


はてな新着記事
はてな人気記事
ブロとも申請フォーム
プロフィール

yohshiy

Author:yohshiy
職業プログラマー。
仕事は主に C++ ですが、軽い言語マニアなので、色々使っています。

はてブ:yohshiy のブックマーク
Twitter:@yohshiy

サイト紹介
プログラミング好きのブログです。プログラミング関連の話題や公開ソフトの開発記などを雑多に書いてます。ただ、たまに英語やネット系の話になることも。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。