9

この質問はWebアプリケーションから生まれましたが、他の種類のアプリケーションにも当てはまるはずです。私はMVCを使用しています。

アプリケーションコード(モデル、ビュー、コントローラー、フォーム、ヘルパーなど)とライブラリコード(外部ライブラリと、自己作成のデータベースマッパー、jsonコンバーターなどを備えた内部ライブラリ)の両方があります。

アプリケーションとライブラリコードの間に通常どこに線を引くのだろうか(両方が内部で書かれている場合)?

一部のライブラリコードはプロジェクト固有のものになりますが、それでも少し抽象化されています。

4

3 に答える 3

9

ライブラリのコードは再利用可能であることを意図していますが、アプリケーションのコードは通常そうではありません。コードがアプリケーションに特に関連付けられていない場合は、コードをライブラリに保持します。

疑問がある場合は、次の質問に答えてみてください。

別のアプリケーションを作成した場合、このコードは残りますか?

于 2009-08-13T08:22:13.327 に答える
4

私の一般的な経験則は次のとおりです。別のプロジェクトで使用される可能性があり、アプリケーション固有のコードに簡単に依存しないようにすることができるもの(およびそれを行うためのあらゆる種類の手法があります)は、ライブラリに入れる必要があります。したがって、再利用できる可能性がある場合は、ライブラリに入れられます。

于 2009-08-13T08:18:04.583 に答える
4

この種の分類に関する質問に直面したとき、私が知りたいことが 1 つあります。それは、誤った分類の結果です。

このコードは「ライブラリ」であり、そのコードは「アプリケーション」です...この区別は誰のために行われているのでしょうか? コードを間違ったカテゴリに入れるとどうなるでしょうか?

考えられる答えの 1 つ:

コードの再利用に影響します。ポリシーがあるとします。ライブラリ コードは、必要なヘッダーなどを含む DLL で利用できます。アプリケーション コードは、.EXE で展開されます。

難しい計算を行うための素敵なルーチンを、ライブラリではなくアプリに置くと、すぐに再利用できなくなります。

おそらく、その考え方からさらに別のことが続くでしょう...バージョン管理の問題が適用されます。より良いドキュメントを作成する必要がありますか? [開発者が 1 人であっても、もっと注意を払うことができるでしょうか?] 構成情報を外部化する必要がありますか?

于 2009-08-13T08:31:26.410 に答える