1

私がしていることを判断しないでください。それは奇妙なことだと気づいていますが、上司はそれを内部ツールとして望んでいます。

Outlookアドオンを介してOutlookカレンダーを使用してMicrosoftProjectファイルとタスクを同期する必要がありました。アドオンは、サブタスクを持たないタスクを取得し、タスクの期間にまたがるカレンダーにそれらを配置します。私はなんとかアプリケーションを取得することができました:

  • プロジェクトファイルをロードします
  • 同期時にOutlookから予定を追加、更新、削除します。
  • プロジェクトがカレンダーと同期していない場合は、ロード時にワークアウトします。
  • プロジェクトファイルを監視し、同期するかどうかをユーザーに確認します。
  • Outlookで予定を更新するときに、プロジェクトファイルのタスクをその場で更新します。
  • タスクBはタスクAのサブタスクであるなど、ユーザーがタスク/予定の階層を選択できるようにします。
  • 他の退屈なもの。

これですべて問題なく動作しますが、今日は設計プロセスを逆にしようとしていて、デザインが完璧にはほど遠いことに気づきました。コードはかなり整頓されていて、ほとんどのコードの臭いを避けたように感じますが、コードを見てもデザインがはっきりしておらず、すぐに理解するのは簡単ではないと感じています。私はデザインパターンに興味を持ち始めたばかりで、ここの誰かが学ぶための素晴らしい方法としてアプリケーションをリファクタリングすることを提案しました。

時間が不足しているので、典型的な最新の同期パターンなど、私が有利なスタートを切るのに役立つアイデアや一般的なデザインパターンへのリンクを持っている人はいますか?

どうもありがとう

ポール

4

1 に答える 1

2

2つのアプリケーションの同期に特に適したアーキテクチャパターンはわかりません。ソースコードを見れば、それらが適合するデザインパターンを提案することができますが、それが可能かどうかは疑問です:)。これは、デザインパターンの優れたサイトhttp://www.dofactory.com/Patterns/Patterns.aspxと、アーキテクチャパターンの優れたサイトhttp://martinfowler.com/eaaCatalog/です。2番目のリンクは、MartinFowlerのエンタープライズアプリケーションパターンに関する本からのものです。

パターンは、特定の問題が発生した場合にのみ使用されることを忘れないでください。これらの問題が存在しないパターンに適合させようとしないでください。よくある間違い。

于 2010-09-03T19:02:29.763 に答える