エンタープライズ ライブラリ アプリケーション ブロックまたは自家製フレームワーク?
-
09-06-2019 - |
質問
私たちは現在、何らかの「標準」開発者フレームワークの採用を検討しており、Enterprise Library の使用を検討しています。ソフトウェア開発の基盤としてこれらのブロックを使用することをお勧めしますか、それとも何かするべきでしょうか? 自家製?
解決
アーキテクチャやプログラミングに関する質問に対するすべての適切な答えと同様、答えは「状況による」です。
それは、データ アクセスとオブジェクト設計のニーズがどの程度ユニークであるかによって異なります。また、長期的にアプリケーションをどのようにサポートする予定であるかにも依存する場合があります。最後に、それは開発者のスキル レベルに大きく依存します。
この質問に対する万能の答えはありませんが、一般的に、何らかのビジネス価値を提供するソフトウェアを開発することに主な焦点を当てている場合は、既存のフレームワークを選択して実行します。すぐにビジネス利益をもたらさないものを構築することにサイクルを費やさないでください。収益の増加および/またはコストの削減)。
たとえば、私の組織のプロジェクトの 1 つは会社の運営の中核であり、できるだけ早く開発して展開する必要があり、存続期間が長くなります。これらの理由から、Enterprise Library の支援を受けて CSLA を選択しました。他のフレームワークを選択することもできましたが、重要なのは、アプリケーションと開発者のスキルセットによく適合すると思われるフレームワークを選択し、それを使用して実行したということです。
これにより、私たちは良いスタートを切ることができ、サポートを得られるコミュニティも得られました。私たちはすぐにビジネス価値を提供する機能から着手し、フレームワークを構築しようとして壁にぶつかることはありませんでした。
また、当社のフレームワークに触れたことがある可能性が最も高い人材を将来的に雇用できる立場にもあり、非常に有利なスタートを切ることができます。これにより、長期的なサポート コストが削減されるはずです。
使用しないものや不要なオーバーヘッドはありますか?多分。しかし、私はコードでビジネス価値を早期かつ頻繁に提供するために、それを一日中交換します。
他のヒント
それは実際に何をする必要があるかによって異なります。一般に、あなたの会社が属するニッチ市場が大きければ大きいほど、適切にサポートしてくれるフレームワークが見つかる可能性が高くなります。小規模なニッチの場合は、独自のサービスを展開する必要がある可能性が高くなります。
私が働いている会社には、特定の建物の建築資材を見積もるための 2 つの機能を備えたアプリがいくつかあります。これはかなり特殊なことであり、似たようなアプリが 8 つほどあるため、独自のアプリを開発し、必要に応じてサードパーティのライブラリを導入することにしました (一部のものについては車輪の再発明は意味がありません)。
もちろん、あなたのミレージは異なる場合があります。