2009-04-18 2 views
2

多くの企業、主に建築家/鉛開発者、時には開発者と直接仕事をしています。頻繁に起こることの1つは、建築家がアプリケーションパターンを処方するときに、毎回変わらない余裕を持って常に一貫してそれを追求することです。パターンを適用する際に開発者にどの程度の自律性を与えますか?

プレゼンテーションモデル/ M-V-VM

この良い例は、プレゼンテーションモデル(M-V-VM)パターンです。このパターンを考えると、私は「現在のシナリオの状態と動作を表現するオブジェクトモデルと、それをUIに向けるビューオブジェクト」を持っていると考えています。私の考えでは、状態を表すもの(モデル/ビューモデル)は規範的なガイドよりも概念的です。ビューはこの状態を表現するために多くのオブジェクトを使用するか、または1つを使用することがあります。パターンのエストは、視覚化コードから状態管理を分離することです。

しかし、多くの場合、私はパターンがより文字通りintepretedされていることがわかります。典型的なプロジェクトは、次のようになります。

  • ビュー
    • フー
      • FooView.xaml
      • FooView.xaml.cs
      • FooViewModel.cs
      • FooModel.cs
    • バー
      • BarView.xaml
      • BarView.xaml.cs
      • BarViewModel.cs
      • BarModel.cs

時々、モデルオブジェクトが空か、 ViewModelは単にプロパティオブジェクトgetters/setterをモデルオブジェクトに転送しています。時にはビューがとてもシンプルで、余分なオブジェクトは必要以上に複雑になります。

建築家/チームのリーダーとして、開発者はチェックリストのように毎回同じプロセスに従うことをお勧めしますか?または、開発者に詳細を残したいと思っていますか?

+0

+1不当なdownvoteを元に戻す –

答えて

3

毎回、詳細を開発者に任せてください。いくつかの解決策は野生になる可能性があります&毛深いが、詳細を制御しようとすると、すべてのための失ったゲームです。開発者には頭脳があります:どのようにそれらを正確に伝える前に、あなたが達成したいものを彼らに教えてください。何が、なぜ行われるのです、そして最も重要な結果:従うべき参照アーキテクチャを定義する場合、

  • が従うことを基本原則を提供することに焦点を当てます。
  • 例えばのように、標準があることを確認してください。符号化およびコンポーネントの使用
  • のパターンを提供しています。特定の機能要件とビジネス目標を達成するために、理由のためにプレゼンテーションモデルを使用しています。その理由を教えて、どのような方法であなたがそこに行くのかを教えてください。
  • バージョン管理のようなもののために、明確に定義されたプラクティスがある確保や建築家など

あなたの仕事をテストする主要な非機能要件は、特定し優先順位付け及び達成されることを保証することです。たいていの場合、少なくとも私が協力してきた会社の文化では、ガイドとしての役割を担い、教師は他の人の考えをすべて実行しようとするよりもはるかに生産的です。

+0

+1、あなたの開発者をマイクロマネジャーにする場合、開発者ではなく、データ入力の事務員です。 –

1

ポントスは良い点を示していますが、問題はプレゼンテーションが実際にはアプリケーションの構造であることです。したがって、新しい機能を追加したいという選択肢はありません。

私自身のCAD/CAMアプリケーションは、この点でかなり固いものです。モデルを操作する新しいCommandオブジェクトを作成することで、機能が追加されます。 mementoパターンを使用して開発したオブジェクトを使用して初期状態を保存してから、元に戻す/やり直しが適切に実装されるように変更した状態を保存する必要があります。

パッシブビューを使用して開発されたビューのイベント処理構造の1つにCommandオブジェクトを配置する必要があります。もちろん、コマンドオブジェクト内のオブジェクトと関数をサポートするアルゴリズムの選択は、開発者にかなりの裁量を与えます。

企業が作成した新しいアプリケーションについて話している場合は、さまざまなパターンが選択されていることがよくあります。私たちの会社では、何十年にもわたってアプリケーションを維持しなければならず、設計の適応性は非常に重要です。私たちは5月、10、15年後に戻ってくるので、開発の月の味を使用することはできません。私たちのアプリケーションの多くは、パッシブビューとよく定義されたインターフェイスを介して接続する複数のレイヤーを使用して設計されています。これは、MSがVB.NETに有利にVB6を賭けることに決めた時にも役立ちました。

時々、今月の味のマネージャーに過ぎません。この場合、あなたの提案された方法が長期的には会社の方にとってよりうまくいく理由について、マネージャーを教育することを試みる必要があります。それ以外の場合は、なぜ会社がそれをした基準を選んだのかを自分で教える必要があります。

関連する問題