2009-06-13 2 views
21

私の店では現在、私は中小規模のプロジェクトと考えているものを開発しています。私たちはエンタープライズライブラリを調査しており、どのようにして開発中にそれを助けることができるかもしれません。私は特にLoggingブロックを見て、それをLog4Netと比較しています。エンタープライズライブラリのブロックは、単純なアプリケーションのロギングのようなものに対して非常に工学的な解決策になると私は思えます。Microsoftエンタープライズライブラリを使用していますか?

と言われています。エンタープライズライブラリを使用していますか?エンタープライズライブラリ全体について考えていることは何ですか?

おかげ

答えて

18

それはほとんどのもののために設計上のエンタープライズ・ライブラリがある私の意見です。いいえ、私たちはそれを使用しませんが、私たちのプロジェクトのほとんどは、宣伝性の高い短期大量のウェブサイトです。

9

いいえ、私たちはそれを使用しません。実際、私はブロックの新しいリリースであまりにも多くの後方互換性の問題を見たので、エンタープライズライブラリブロックの大きな反対者です。

10

+1過剰調整されています。ロギングまたは例外処理ブロックの代わりにlog4netを使用します。私たちは、entlib暗号化ブロックの代わりにネイティブの.NET System.Security名前空間を使用します。トレースツールの中には素敵なものもありますが、それらを使用するプロダクションでは何も持っていません。

+1

ここでは、私たちの最も徹底的な「マイクロソフトではそれが成果を上げました」という人が、最初に使用したログブロックを廃止しました。それ以来、他のものは使用していません。 – gbjbaanb

+1

ロギングの経験が同じです。私はグーグル・グーグルのように混乱しているmsdnスタイルのスタイルで風をあてるのに時間がかかりすぎて、David Haydenの例が見つかりました。すぐ後に切り替わりました。 –

+1

私はlog4netが過度に設計されていると主張したいと思います(私はアプリケーションブロックを守っているわけではありません、彼らは間違いなく過剰設計されています) –

1

それはすべて私が信じている名前で言われている..「エンタープライズライブラリ」 Enterpriseはかなり大きなもの(はい、私は、偉大な定義のそれぞれで独立し知っている...しかし、ちょっと私は、現時点でほろ酔いよ!)

1

私が持っています私はロギングのためのlog4net、データアクセスのためのEFやLinq2sqlなど、より俊敏でシンプルなソリューションに目を向けました。

7

私はそれを使用します(具体的には、Unity、Logging and Validation)。私はそれを大いに誇っています。

ロギングブロックは間違いなく過剰設計されており、皮肉なことにまだ多くの柔軟性が欠けています。私は、一般的なメッセージを持つ単一のテーブルではなく、より構造化されたロギングメッセージをDBに書きたいと思ったら、どれくらいのコードを書き換えて置き換えなければならなかったかに驚いていました。ドキュメンテーションはスケッチであり、実際にあなたのロガーで起こったことに従うのは本当に難しいです。

Unityは実際には正常に動作します。個人的には、私はむしろDIコンテナを完全に避けたいのですが、使用する必要があれば、Unityはうまくいくようです。

私は実際にバリデーションブロックを使用するコードに関与していないので、どのように機能するかはわかりません。

しかし、一般的に言えば、そうだと思いますが、そうでないと正確にはあなたが必要としているものは、それなしではもっと良いでしょう。

7

エンタープライズライブラリは過剰です。これは複雑すぎて柔軟性がありません。だから我々は使用しない。

私たちのプロジェクト(Windows Azure上の分散計算シナリオを対象とするプロジェクトを含む)では、軽量の代替品としてLokad Shared Librariesを使用しています。 Log4net for Logging、設定用Autofac IoC、カスタムビジネスルール、検証、例外処理(信頼性あり)のアプリケーションブロックを提供し、必要なすべてのアセンブリをいくつかのdllファイルにまとめます。

2

私はエンタープライズライブラリとは別の古いアプリケーションデータブロックが好きです。それは非常に簡単で、あなたに多くの時間を節約します。私たちはエンタープライズブロックへの移行を試みましたが、重大な価値はありませんでした。

ロギングにlog4Netを使用していますが、問題なく動作します。

1

多くのメディカル・ラージ・ウェブプロジェクトで作業していたので、簡単な設定変更でnCacheなどを使用できるようにするために、entライブラリからキャッシング・ブロックを推薦することができます。これにより、開発チームはnCache(または同様のもの)をどこにでもインストールする必要なしにTDDを使用することができます。

Log4Netは、EntLibロギングブロックIMHOよりはるかに優れています。

セキュリティ/クリオグラフィーのブロック私は数回使用しており、一般的に、彼らはあまりにも厄介で複雑ではなく、彼らがスズについて言うことをすることがわかりました。

フレームワークの残りは他の単純かつ(私見)によってダウン手を打たれるより良いソリューション データアクセス - NHibernateは、ActiveRecordの、タランティーノ

ユニティ - ウィンザー、スプリングなど

検証 - 私が使用城のスタック

2

「私は気にしないので、このものは簡単に動作し、必要なものはすべて手間をかけずに提供しています。

Overengineered?どうして?

関連する問題