2013-02-08 13 views
7

注:これは、xがxよりも優れている投稿とはまったく異なります。喜んでそこに行かないでください。.Net MVCアーキテクチャは、それほど複雑ではないものの、Railsと比べてなぜですか?

私は.Netの人であり、いつも通り、私はMVCフレームワークを初期のバージョン2ベータ版以降、すべてのバージョンから使用してきました。過去数ヶ月にわたり、私はRailsを使いこなしていました.2つのプラットフォーム間で大きく異なると思われるアーキテクチャについての質問があります。 (SOなどのサイトでのコミュニティと質問に基づいて)

In .Net MVCでは、懸念事項を分離し、データアクセス、ビジネスロジック、およびビューを処理する別々のプロジェクトを作成することを推奨します。私たちのデータオブジェクトは、ViewModelsにビューを当てる前にViewModelsへ

Railsでは、Validation、DataAccess(アクティブなレコードを介して)およびその他の論理プロパティを含むオブジェクトを持っています。それを表示します。

なぜこのフレームワークではこの方法が受け入れられ、もう一方では間違っているとみなされ、私たちはすべてより多くのコードを書いてファイルを増やすことになります。

注:私はRailsの専門家ではなく、実際にはxよりも優れているとは比較しようとしていませんが、私は2つのフレームワークの高水準アーキテクチャを見ていて、 。

+0

シャークVSゴリラの? http://blog.stackoverflow.com/2011/08/gorilla-vs-shark/ – mattytommo

+0

いいえ、私は明確に私がより良いと尋ねていないと述べました。私の質問は、なぜ複雑なアーキテクチャが.Net MVCの標準であるかということです。 – LiamB

+0

この質問が10分で4回見られたという事実は、これがコミュニティにとって価値があることを示すはずです。 – LiamB

答えて

6

これは、開発するアプリケーションの種類と成長の程度によって異なります。

些細なアプリケーションの場合、異なるビューとドメインモデルで複雑にする必要はありません(しかし、個別のビューモデルとエンティティを使用することもできます:http://blog.gauffin.org/2011/07/three-reasons-to-why-you-should-use-view-models/)。

CRUDアプリケーションの場合、レポジトリパターンなどの抽象化でデータアクセスをラップする必要はありません。

しかし、簡単なアプリケーションやCRUDアプリケーション以外のものをコーディングすることをお望みなら、そうすることをお勧めします。パターンと原則は、アプリケーションのメンテナンスを開始する日に役立ちます。あなたはより明確に定義されたクラスを取得し、ビジネスロジックはアプリケーション全体ではなく1か所で作成されます。

私は抽象化を使用する理由について、小さなブログのエントリを書いた:http://blog.gauffin.org/2013/01/data-layer-the-right-way/

そして、なぜカプセル化が重要である:http://blog.gauffin.org/2012/06/protect-your-data/

+0

これは.Net MVCを使って何度も何度も影響を受けたものです。しかし、より複雑なWebアプリケーションは、パターンを使用しないRailsで書かれています。 – LiamB

+0

どのパターン?また、CRUDアプリケーションもかなり大きくなる可能性がありますが、それでもビジネスロジックはあまり必要ありません。 – jgauffin

+0

申し訳ありませんパターンは間違った言葉ですが、ViewModelsは、私が見ているレールアプリの抽象概念ではありません。 – LiamB