1

私は自分の会社のコード ベースを構築することを考えています。これは、従業員が社内で開発し、さまざまなアプリケーションで使用されるライブラリやクラスなどを保持するためです。目的は、時間内にコードを再利用できるようにすることです。私が対象とするプラットフォームは .NET のみです - winForms、WPF、WEB、Silverlight などです。私は、技術ごとに 2 つのプロジェクトを保持するソリューションを構築することを考えていました。1 つはコードを含み、もう 1 つはそのコードのテスト サイトです。このさまざまなテクノロジとコードをすべて処理するための最適なソリューションは何だと思いますか?

4

2 に答える 2

4

コードを再利用した後は、最終的なUIがWinForms、WPF、Silverlight、WebFormsなどであるかどうかに関係なく、共通点を特定する必要があります。

たとえば、ローンの返済額を計算するクラスがある場合、各テクノロジーのバージョンは必要ありません。どこでも使用でき、リクエストを渡して結果を取得できるdllが必要です。

また、データアクセスがUI中心ではなくデータ中心であることを確認することもできます。たとえば、1つの「サービス」のみがデータベーステーブルと通信するようにして、その「サービス」より上のデータが影響を受けないようにします。テーブル、さらにはデータベースへの変更。

基本的に、私のポイントは、共通のコードを機能の個別の垂直スライスに基づいており、情報を表示する最終的なUIに基づいていないことです。優れたコードを記述すれば、任意のUIを上に(または複数のUIを上に)配置できるはずです。

于 2010-09-27T14:25:22.770 に答える
4

これは、想像以上に難しい場合があります。それは、あなたがどのような会社で働いているか、彼らがどのような仕事をしているか、そしてあなたの野望の範囲に大きく依存します.

まず、おそらく「フレームワーク」を作成したくないでしょう。.NET Framework は既に持っています。おそらく、カスタム コントロールの共通セットに同意したいと思うでしょう。たくさんの選択肢があります。多くのプロジェクトで再利用される独自のカスタム コントロール セットを作成しようとしないことを強くお勧めします。首尾一貫した一貫性のあるカスタム コントロール ライブラリを開発することは、それ自体が大きな仕事であり、特定のプロジェクトで機能する中途半端な手段を他のプロジェクトに移そうとすると、惨めに失敗します。

私はコンサルティング会社 (主にクライアント向けのカスタム .NET ビジネス アプリケーションを扱っていた) がコードを再利用しようとしているのを見たことがありますが、ほとんどの場合、それはうまくいきませんでした。あるカスタム アプリケーション用に作成され、動作するコードを別のカスタム アプリケーションに移行することは、想像以上に困難です。多くの場合、その「一般的な」コードは、アプリケーション全体についての仮定を作成するか、アプリケーション固有のコードに依存しており、その依存関係を取り除くことは非常に困難です。

現在、誰もが同じ種類のデータを処理するプログラムに取り組んでいる環境にいる場合は、データ アクセス モジュールとレポート モジュールの共通セット、およびいくつかの共通アルゴリズムを活用できるでしょう。ただし、ここで注意してください。共有コードは、依存関係をできるだけ少なくする必要があります。そうしないと、潜在的なクライアント (つまり、他のプログラマー) は、"世界を含める" よりも自分で作成することを好むでしょう。

あなたは、「従業員が内部で開発し、さまざまなアプリケーションで使用されるライブラリ、クラスなど」を保持するコード ベースを構築したいと言っています。私にとってこれは、異なるプロジェクト間でコードを共有したい、または少なくともあるプロジェクト用に書かれたコードを別のプロジェクトで使用したいということです。称賛に値する目標ですが、多くの場合難しいものです。上で示したように、単一のプロジェクトで機能するコードを作成することと、最小限の依存関係で複数のプロジェクトで使用できるコードを作成することには大きな違いがあります。可能ですが、難しいです。そして時間がかかります。

于 2010-09-27T17:11:32.070 に答える