MVC、WCF、EF、LINQ-それは私だけですか?[閉まっている]


17

...または、より複雑になっていますか?

最近、MS Webアプリを「適切に」開発するには、多くのことを知る必要があるように思えます。よくわからない悪い昔、データベーステーブル、ASP.NET、ADO.NETがあり、比較的単純な概念を使用してWebアプリを構築しました。

最近では、「正しい」ことを「手助け」するためのフレームワークがたくさんあるように見えますが、これがすべてをより簡単に、より良くすることを確信していません。私はこの感情でかなり小さな少数派になるだろうと感じていますが、物事が少し狂っていると思う他の誰かがそこにいますか?


MVC = ASP.Net、WCF = Webサービス+ .Net Remoting、EF = ADO.Net、Linqは一部のforeachループの代替です。現在、以前と同じ数のフレームワークがあります。
-vortexwolf

ジョン私はあなたに「部分的に」同意しなければなりません。現在、.Netのスキルを磨いています。5年前よりも確かに多くの経験を積むことができます。
-TeaDrinkingGeek

MSアリーナには多くのDBテクノロジーが存在する可能性がありますが、この質問はこのサイトではまったく話題外です。それは実際には質問をせず、「...サック、私は正しいですか?」にまっすぐに落ちます。FAQに記載されている暴言カテゴリ
ウォルター・

回答:


17

これらはすべてオプションであり、役立つ場合は使用し、そうでない場合は使用しないでください。それはそれと同じくらい簡単です。ソリューションでこれらの頭字語を使用せずに、適切で適切なWebアプリを作成できます。

個人的には、MVCは非常に軽量で使いやすいフレームワークであると思う傾向があります(webformsよりも簡単に始めることができます)。同様に、LINQはあらゆるものを照会する一般的な方法を提供します。また良い。EFとWCFと私は意見の相違がありましたが、その場合は「em」を使用しません。


2
「役に立つならそれらを使用する」+1。私はルールを使用しようとし、すべてのプロジェクトで1つの新しい「もの」を実行しようとします。しばらくすると、たくさんのことを経験し、使用するにつれて物事が簡単になっているのを見ることができます。
Jan_V

「すべてのプロジェクトで1つの新しいことを試してみてください」の場合も、+ 1してください。私も学習と成長が好きです。
ポール

1
私はすべてのプロジェクトで1つの新しいことをしようとしていますが、それは通常、最後のプロジェクトで学んだ新しいことは今では時代遅れだからです:)
gbjbaanb

9

いいえ、そうでもありません。LINQは、データベースとやり取りするときにパンをスライスするので、最大のものです。

覚えておくべきことは、これらのものは他のものの上に構築されているということです。LINQは、ASP.NET Webサイトを開発するために知っておく必要のある多くの項目に追加されていません。これは、SQLを知る必要がなくなったためです。また、LINQはオブジェクト指向です。これは、通常のアプリケーション開発とはるかに一致しており、SQLよりも完全に簡単になり、C#との統合がはるかに容易になります。

LINQがSQLよりも簡単だと思わない場合は、新しいパラダイムでは難しいものの例をいくつか投稿する必要があります。

さらに重要なことは、以前のWebサイトでは機能がはるかに少なかったことです。同じコードで、パフォーマンスが向上し、スケーラビリティが向上し、新しい機能を提供する新しいWebサイトをどのように作成しますか?


4
LINQの左結合は、SQLよりも困​​難です。また、データベースの問題をトラブルシューティングしようとしている場合は、とにかくSQLを調べる必要があります。さらに、Microsoft以外の開発プラットフォームに移行したい場合は、SQLの知識が役立ちます。
-btilly

10
SQLほど強力なORMフレームワークはありません。ORMフレームワークでは不可能に近いクエリを実行する必要があります。
ビットツイダー

1
@ bit-twiddler>はい、だからこそ、ほとんどのORMフレームワークで生のSQL(またはsproc)も実行できるのです。ほとんどの歩行者クエリを優れたC#の人に書いてもらうことができ、DBの専門家はあなたのためにハードなものをsprocまたはビューにパッケージ化できます。
ポール

1
私は大規模なデータベースを設計し、大量のクライアント側およびサーバー側のSQLを記述していますが、私はDBAではありません。私はソフトウェアエンジニアです。私は、ソフトウェア開発者がユニスキルのどこでも働いたことはありません。いつでも、C、C ++、Java、Object Pascal、PL / SQL、またはIntelアセンブリ言語でコードを書くことができます(HMTL、XML、CSSはチューリング完全ではないため、プログラミング言語としてカウントしません)。独自のツールセットとTomcatベースのテスト環境も維持しています(チームの全員が独自のTomcatサーバーを持っています)。
ビットツイダー

1
SQLを知らなくてもデータベース(LINQ-to-SQL、LINQ-to-Entities)と対話するLINQを書く...?災害のレシピ。
カークブロードハースト

3

あなたが言及した古い概念がこれ以上機能しなかった場合、私はそれが怒っていることに同意しますが、新しいフレームワークは代替です。盲目の受け入れは怒っています。正当化する必要があります。個人的には、SQL自体は問題ではありません。最新のWebサイトの機能の一部を追加しようとしても、webformsはそれをもうカットしていません。

一部の古典的なASPの人々は.NETについて同じように感じていると確信していますが、その主張を続けることができる人はほとんどいません。従来のASPでいくつかのサイトを作成しましたが、戻ってこないでしょう。


2

「ちょっと怒って」。それはまさにDataSet、ADO.NET、ASP.NETソリューションを説明する方法です。:)

学ぶべきことがもっとたくさんあることに同意しますが、あなたが言及するフレームワークのそれぞれが.NET開発を改善しました。


0

これは、ほぼすべてのフレームワークまたは(開発者)プラットフォームに影響を与える可能性があるグローバルな問題だと思います。新しいフレームワークがリリースされると、通常は小さくコンパクトに見えますが、時間がたつにつれて、新しい機能/機能/ APIが含まれます(ロードマップ/リクエスト、新しいコンセプト/トレンド/テクノロジー、または単純に進化によって)。あなたは「物事の一つの方法」から始めましたが、今からあなたが選択できるより多くの可能性があります(そして-あなたは知らない/わからない-どちらを選ぶべきか)。新しいことを学ぶのは時間がかかりますが、限られたオプションセットで以前に解決された同じ問題に対して、より柔軟/高速/優れたソリューションを提供できます。

私はかつて面白い引用に出くわしました-「すべてのコードは十分な時間と手が与えられるとs#!tに変わります」-私見は、既存のフレームワーク内の新しいものが出現して新鮮なアイデアを実行し、進化させるべき理由を要約しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.