いくつかの POC プロジェクトで SubSonic を使用しましたが、大したことはありません。使い方はとても簡単で、アクティブ レコード パターンを使用しているという事実を抽象化することができます (よりドメイン駆動型のアプローチに移行できます)。
ここにいる誰かがより大きなアプリケーションで SubSonic を使用したことがありますか? また、どのようなパフォーマンスを目撃しましたか? あなたの経験は全体的に価値がありましたか?
いくつかの POC プロジェクトで SubSonic を使用しましたが、大したことはありません。使い方はとても簡単で、アクティブ レコード パターンを使用しているという事実を抽象化することができます (よりドメイン駆動型のアプローチに移行できます)。
ここにいる誰かがより大きなアプリケーションで SubSonic を使用したことがありますか? また、どのようなパフォーマンスを目撃しましたか? あなたの経験は全体的に価値がありましたか?
私たちはグーグを恐れてはいけません:
Subsonic と .NET 2.0 を使用して e コマース Web アプリを作成しました。私はそれがかなり良いと思います。アプリはそれほど大きくありませんでした (1 万行のコード)。このプロジェクトを行った当時、私は少し世間知らずで、準備が整う前に深いところに飛び込んでしまったので、パフォーマンスの問題はソフトウェアではなく、おそらく私にかかっています。
でも良いツールです。優れたサポート、強力、時間の節約など
私は多くのプロジェクトで SubSonic を使用してきましたが、SubSonic は非常にうまくスケーリングできると主張します。SubSonic は、ほとんどのテクノロジと同様に、善悪を問わず使用できます..たとえば、ページに無数の列と大量の行があるテーブルがあるとします。データを取得するためのストアド プロシージャを記述し (SubSonic はすべてのストアド プロシージャのラッパーを作成します)、DB がスマートであればビューのパフォーマンスを最適化できるように、データベースにビューを作成できます (SubSonic はそれぞれのクラスを作成します)。ビューとテーブルの両方)。
ビューを使用していて、オブジェクトのコレクションのオーバーヘッドが必要ないとしましょう。Subsonic を使用すると、ビューの IDataReader を取得できます (それが十分に高速でない場合は、何が何であるかわかりません)。 .
一方、同じアプリに、管理と構成に使用される 3 ~ 4 列と 10 行ほどのテーブルが 5 つほどあるとします。ページにドロップするだけで、テーブルの編集/追加/削除/並べ替え機能が組み込まれた GridView を作成する、SubSonics の気の利いたコントロール (つまり、Scaffold コントロール) の 1 つを使用できるようになりました。
SubSonic には多くの時間を節約する機能が組み込まれており、自分のやり方でやりたい場合 (ときどき、私たちは自分のやり方やハイウェイと言います!)、SubSonic を使えば自分のやり方でそれを行うことができます。
SubSonic はツールであり、賢く使用する必要があります。大規模なアプリケーションがある場合は、キャッシュを入れており、それらを使用する場合は IDataReader を閉じる必要があります。
私は SubSonic を少ししか使っていませんでしたが、しばらくすると、私が取り組んでいたアプリケーションでパフォーマンスの低下が見られ始め、最終的には、一部のデータ呼び出しに対して特定の最適化されたストアド プロシージャを使用するように移行することを余儀なくされました。 SubSonic によって生成された自動アイテムは、ニーズを満たしていませんでした。しかし、最終的にはすべてうまくいきました。