他の開発者が「CORE」でライブラリに名前を付けているのをよく見かけます。それは実際にはどういう意味ですか?
7 に答える
Bingに「コア」を定義するように依頼しました。それが思いついた定義の1つは次のとおりでした:
重要な部分:何かの中心的または最も重要な部分
したがって、基本的に、誰かがライブラリコアに名前を付けるとき、それはアプリケーションやフレームワークの中心的で最も重要な部分です:-)
私の意見では、COREは不可欠なものを意味します。数学関数やユーティリティ目的の他の関数はコアにはありません。それらはむしろ「Utils」です。
核となるのは、他のすべてを存在させる部分です。それがなければ、他の部分は意味がありません。コアにない他のものは、削除することができます(設計上常に可能であるとは限りません)。
私はその規則を使用します。これは基本的に、汎用ユーティリティクラスとコードを備えたコアクラスライブラリであり、実際には独自のライブラリにはありません。
たとえば、多くのクラスへの拡張メソッド、追加の数学関数など。他のプロジェクト全体を保証するのに十分な大きさではないもの。
他に何が私にはわかりません。
私はコアをアプリケーションの抽象的な中心と見なしています。コアは通常、アプリケーション全体の動作を定義するのに十分なロジックを実装します。
したがって、私の見解では、データアクセスとプレゼンテーションはコアの一部であってはなりません。これにより、Webアプリケーションとデスクトップアプリケーションの両方が同じコアモジュールを共有できるようになります。
あなたの場合、コアモジュールにビジネスロジック、エラー処理、および構成が含まれているはずです。
また、大きなコアモジュールを使用する主な理由は、多くの小さなモジュールを維持する必要があるコストを回避することであると信じています。
これはおそらく異端と判断されますが、データアクセス、ビジネスロジックなどの個別のプロジェクトでソリューションを数年間構築した後、これらのレイヤーをMyApp.Coreという単一のプロジェクトにまとめて、基本的なソリューションにする可能性が高くなります。コアプロジェクトとUIプロジェクトのみで構成されます。これは、他のプロジェクトが必要になったり追加されたりすることがないということではありませんが(MyApp.Testsなど)、基本的な構造はこれら2つに基づいています。
編集:コメントの提案ごとに要約。
すでにここに投稿されている回答に基づくと、ライブラリの開発に関連する「コア」を定義する「標準的な」方法はないようです。
だから私は「正しい」ことを心配しません。適切と思われる用語を使用してください。
コアは、そのベンダーから使用できる他のライブラリの前提条件だと思います。したがって、ベンダーはいくつかの独立したパッケージを提供する場合がありますが、それらはすべてコアに依存して物事を成し遂げます。そうしないと、コードが大幅に重複する可能性があります。