仕事の雲行きが怪しくなってきたため、今時点で考えている構想をたたき台としておいておきます。
クラス図とか作るか悩んだのですが、まずは基本方針からと思いまして、図はありません<( )>
NotesでのJavaの設計はしたことが無いので、どんどんご意見ください。
※後半のコントローラーとサービスについては、バッチ処理であるために、細かく分けなくても良いかなと思いますが、とりあえずはWebのJavaのクラス構造っぽくしてみました。
–
カレンダーデータアクセス
BaseDAO←親クラス
共通処理(検索、更新、追加、削除)<br/>
GoogleCalendarDAO<br/>
Google固有の処理<br/>
NotesCalendarDAO<br/>
Notes固有の処理<br/>
カレンダーデータ(ラッパーの様な存在)
BaseDoc←親クラス
共通データ(他のClassとのデータ渡しなどに使う)<br/>
GoogleCalendarDoc→Gdataで代用可能だがwrapperとしてつかう?<br/>
Google固有のデータ<br/>
NotesCalenderDoc→Documentで代用可能だがwrapperとしてつかう?<br/>
Notes固有のデータ<br/>
Setting
設定関連のデータ保持&処理<br/>
Log→NotesのLogで代用する?
Log関連:処理結果等を残す場合<br/>
Util
日付変換など<br/>
その他必要に応じて追加<br/>
Constants
定数定義<br/>
Controller
指定されたServiceを呼び出す<br/>
処理実行クラス(MVCモデルで言うM?)
BaseService→同期以外の処理を作るのであれば定義しても良いと思います。←Interface
共通<br/>
SyncService<br/>
メイン処理:順に処理を実施していく