2011-02-10 115 views
6

私はグーグルで、ライブラリが複数の関連するクラスで構成されていることを知りました。しかしCodeigniterでは、すべての図書館には1つのクラスしかないことがわかりました。このことについて私の限られた知識のため申し訳ありませんが、もし私がこれについて少し教えていただけたら、私はそれを感謝します。どうもありがとうございました!クラスとライブラリの違いは何ですか?

+2

iライブラリは、クラスとは何の関係もないかもしれませんが、手続き型関数のコレクションにすぎません。クラスは明確に定義された定義を持っていますが、少なくともPHPではライブラリはありません。 –

答えて

9

違いは意味的なものです。機能を追加

クラスは通常、完全な機能をカプセル化する(機能の特定の部分の実装です。

ライブラリは、機能(またはひとつの単位の集合体である)。注意Iその定義の中の単語クラスから離れて滞在してみました。図書館は、手続き型の機能またはOOPすることができます。それはそれは図書館だという事実を損なわない。OOPを扱うときのクラスだけで抽象化を助ける。

フレームワークは、コードの記述方法にアーキテクチャの選択肢を与えるライブラリです。

したがって、すべてのフレームワークはライブラリです。すべてのライブラリがフレームワークであるとは限りません。 CodeIgniter自体は、フレームワークまたはライブラリとして使用できます。違いは、図書館にあなたのアーキテクチャーを指示させ、フレームワークを使用している場合です。アーキテクチャビットを使用しない場合は、ライブラリです。

これは間違いなく派生的な違いですが、重要なものです。総じて単純化されているように、正式なアーキテクチャを実行していて、アプリケーションの具体的な仕組みがすべて階層化されている理由を理解すると、ライブラリとして使用しています。代わりに、それがCIのやり方であるので、それを構築するなら、それはフレームワークを使用しています。両方とも大きなメリットがありますが、その違いを理解する価値があります。

4

一般的なプログラミング用語では、すべてのライブラリを複数のクラスで構成する必要はありません。実際、すべてのライブラリがクラスで構成されているわけではありません。実際には実装(場合によっては言語)によって異なります。 Wikipediaが(イタリック体鉱山)から始まりとして:コンピュータサイエンスの

ライブラリは、ソフトウェアを開発するために使用されるリソースの集合です。 これらには、サブルーチン、クラス、値、型指定が含まれます。

CodeIgniterのは、「ライブラリ」の独自の定義を持っている。この場合、それは単に、独自のライブラリ各サードパーティのアプリケーションクラスを呼び出します。それにもかかわらず、には、ライブラリファイルと同じ名前のクラスが少なくとも1つある限り、同じライブラリファイルに他のクラスが含まれています。 the CodeIgniter docsをチェック

1

我々は、通常のライブラリディレクトリに配置し、このユーザガイドのクラスリファレンスで説明されているクラスを参照している用語「ライブラリ」を使用

。しかし、ここでは、ローカルリソースとグローバルフレームワークリソースの分離を維持するために、アプリケーション/ライブラリディレクトリ内に独自のライブラリを作成する方法を説明します。

固定された数のクラスやファイルに固有の「ライブラリ」はありません。この引用は、あなたが混乱させた特定の使用法を参照していますか?

関連する問題