3

私は、すべての複雑なビジネスロジックを備えた多層SOAベースのエンタープライズアプリケーションを使用しています。多くのビジネス検証では、データベースからの大量のサポートデータが必要であり、パフォーマンスが低下します。同時ユーザーの数は約1000人です。クライアントは多層で、WinFormsが最上位にあります。

ほぼすべてのエンタープライズライブラリブロックを検討しています。

  • アプリケーションブロックのキャッシュ
  • データアクセスアプリケーションブロック
  • 例外処理アプリケーションブロック
  • ロギングアプリケーションブロック
  • ポリシーインジェクションアプリケーションブロック
  • セキュリティアプリケーションブロック
  • Unityアプリケーションブロック
  • 検証アプリケーションブロック

    1. エンタープライズライブラリは正しい方向に進んでいますか?
    2. あなたの意見でより良いライブラリ/フレームワークを提案してください、しかしそれらがより良い方法を伝えることを検討してください。
    3. エンタープライズライブラリを他のライブラリと混合するのは悪い習慣でしょうか?たとえば、ロギングにlog4netを使用することを検討します。
4

2 に答える 2

5

私の意見では、エンタープライズライブラリが行うほとんどすべてのことに対してより優れたツールがあります。

  • データアクセスブロック

    プロジェクトでEntLibを使用してから数年が経過したことは認めますが、覚えているように、Dataブロックは提供するものが非常に限られていました。NHibernateやEntityFrameworkのようなフル機能のORM、またはSubSonicのようなクエリツールでさえ、はるかに多くのものを提供します。私が取り組んでいるNHibernateを使用しないプロジェクトはすべて、NHibで「箱の中で無料」で入手できる機能を実装することになります。

  • アプリケーションブロックのキャッシュ

    キャッシングでORMを使用すると、キャッシングブロックが行うほとんどすべてがカバーされます。

  • 例外処理ブロック

    ここから始めていくつかの良いアイデアがありますが、コンセプトは大幅に改善することができます。Rinat Abdullinには、例外処理にアクションポリシーを活用するための優れた開始情報があります。

  • ロギングアプリケーションブロック

    NLogまたはlog4netを使用します。限目。ファサードが必要な場合は、SimpleLoggingFacadeまたはCommon.Loggingを使用してください。ロギングは非常に限定された、明確に定義されたコンポーネントです。フレームワークはほぼ同一で安定しています。これを過度に複雑にする必要はありません。

  • ポリシーインジェクションとUnityブロック

    DI / IoCを調べて、1つ選びます。間違いはほとんどありません。考慮すべきものの良いリストがあります

  • セキュリティと検証のブロック

    この時点で、EntLibの多くに適したオプションが見つかりました。セキュリティまたは検証をサポートするための依存関係として、EntLibを導入するのは大変なことです。繰り返しになりますが、セキュリティ( Rhino Security)と検証(xValLokad)を支援するツールは他にもたくさんあります。

于 2010-11-04T19:33:05.093 に答える
3

エンタープライズライブラリ(の古いバージョン)をしばらく使用しましたが、問題はありませんでした。

ライブラリのパッチワークをつなぎ合わせるのではなく、まとまりのあるライブラリのセットを使用することには間違いなく利点があると思います(多くを使用する場合)。

ロギングブロックは非常に優れていることがわかりました。高度に構成可能であり、うまく使用すれば、包括的かつ柔軟にロギングできるようになります。

于 2010-11-05T01:11:55.187 に答える