package com.android_mvc.framework.controller; import android.app.Activity; import com.android_mvc.framework.controller.routing.RoutingTable; /** * コントローラの基底クラス。 * @author id:language_and_engineering * */ public class BaseController { // NOTE: MVCのコントローラ層に当たるクラス。 // ビューから渡された値の検証や,BLの呼び出し,画面遷移の制御などを行う。 // もし肥大化したら,別クラスに細分化する。 // 着想は下記の記事を参照。 // @see http://d.hatena.ne.jp/language_and_engineering/20120213/p1 // NOTE: 各メソッドは,コントローラ自体に状態を生まない。 // コントロールフロー詳細クラスに状態を委任しているため。 // なので,各メソッドはstaticでOK。クラス分けも単なる名前空間の分割。 // IDEA: コントローラ類のソースを静的解析すれば,画面遷移図が自動生成できるぞ…。 // BL実行完了時に遷移しないことを表すための定数 protected static final RoutingTable STAY_THIS_PAGE_ALWAYS = null; protected static final Class<? extends Activity> STAY_THIS_PAGE = null; }