すべての.NETの人が知っておくべき主なプラクティスと設計パターンは何ですか?[閉まっている]


16

プロのプログラマーとしての短い時間で、教育を受けたプログラマーによって書かれた多くのアプリケーションを、.NET 2.0ブックの最初の数章を読んでいるように見ました。

私が始めたとき、私はそれらのアプリケーションのほとんどを書きました!

AWESOME .NETアプリケーションを作成するために重要な最大の設計パターンは何ですか?

素晴らしいとは、私も内側を意味します!


重要なものはありません。
kirk.burleson

回答:


22

最初:基本的なツールをよく知る

  1. ASP.Netイベントモデルを理解します。そうしないと混乱に陥ります。

  2. オブジェクト指向の仕組みを理解します。驚くほど多くの比較的経験豊富な.Netプログラマーは、まだ1972年だと考えているようです。

  3. Code Completeの読み取りを開始します。

第二:懸念を分離することを学ぶ

ASP.Net開発で私が目にする最も一般的なデザイン犯罪は、すべてのビジネスロジックを分離コードに詰め込むことです。私はすべてのマイクロソフトの例がそうすることを知っています。私はそれが小さなアプリで正当化されることを知っています。そして、私時々そうすることを知っています。しかし、本当に、それは悪いデザインであり、今週の私のペット嫌いです。

第三:デザインに関する他のすべてを学ぶ

私が見る品質の悪い.Netコードのほとんどは、オブジェクト指向の設計が貧弱な結果です。したがって、次のことを十分に理解することをお勧めします。

  • 堅実な原則
  • GoFデザインパターン
  • MVC(ASP.Net MVC用)

4番目:他のツールについて知る

すぐに使える多くのツールを提供することで、Microsoftが物事を簡単にする方法を知っていますか?まあ、遅かれ早かれ、あなたは彼らの限界に達するでしょう。あなたがするとき、あなたはあなたの意志にそれらを曲げるか、あなた自身を転がさなければなりません。いずれにせよ、CSSとJavascriptを使用してget-down-dirtyを実行する必要があります。

最後に

たくさんやったら、あなたは素晴らしいものに向かっています。

[編集:このsutffを学習するためのシーケンスを修正しました。明らかに昨日は数えられませんでした...]


「あなたがするとき、あなたはあなたの意志にそれらを曲げるか、あなた自身を転がさなければならないでしょう」または何かオープンソースを使用します。+1、それにもかかわらず、良い答え
PDR

ありがとう。
ダニエル・アプトン

3
MVVM-(現在)非常にWFP / Silverlight固有のデザインパターン。MVP-MVCと同様のパターンで、クラス/レイヤー間の相互作用にいくつかの違いがあります。リポジトリ/工場/ IOC-上記の「第3」の読み物でカバーする必要があります。これらは、懸念の分離、DRY原則、およびテスト可能な設計に関連しています。「マイクロソフトの祝福された」アプローチ-ニーズに応じて異なります。現在の傾向は間違いなく簡単IOC / DI、テスト可能なコントローラなどとそれほど大騒ぎと「良い」設計を可能にする長い道のりを行くMVC3、のようです
mjhilton

3
@Daniel確かにたくさんの流行語があります。あなたができる最も重要なことは、彼らが何であり、彼らがあなたが解決するのを助けることができるどんな種類の問題を学ぶことです。メンテナンス性の分野で価値を追加しない設計パターンのセットにアプリケーション全体をくさびで縛り付けてはいけません。さらに悪いことに、理解するのは難しいですあなたがそれを書いてから6ヶ月後にします)。適切なパターンを使用して、複雑な問題をより簡単にすることができます。
マイケルディーン

1
@ダニエル:「マイクロソフトの祝福された」アプローチについてはあまり心配しません。良いデザインは、誰がそれを祝福しても、良いデザインです。実際、Microsoftはこの分野で追いつくことがよくあります(たとえば、他のMVCフレームワークへの応答としてのASP.Net MVC)。そうは言っても、Micosoft テクノロジーを常に意識する必要があります。優れたデザインは、利用可能なツールセットに適合しないため、失敗することがわかっています。
Kramii復活モニカ

0

Kramiiが言及したさまざまな点はすべて価値がありますが、SOLIDの原則を扱うことについて言及したいことを強調したいと思います。これらを本当によく理解することは大きな違いを生み、GoFパターンなどの多くはより自然に抜け出し始めます。このようなことの多くは、懸念事項を分離し、依存関係を管理することになるため、ソースから始めれば、他のすべてが理にかなっています。

JP Boodhooでの最近のOOコーディングコースの前に私と同じような人がいれば、単一の責任原則はあなたが思っているよりもはるかに大きいことを意味します!これに固執するとき、クラスがどれほど小さいかを理解することは本当に価値があります。

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