概要

  • ViewとControllerをどうやって分離するか?
  • 実装の方針を書きます

ファイルの構成

FormFooという画面を実装する場合

  • UiBase.cs
    1. interface UiBase
    2. {
    3. //(略)
    4. }
  • ControllerBase.cs
    1. abstract class ControllerBase
    2. {
    3. //(略)
    4. }

というインターフェースがある前提で,以下のファイルを作る

  • FormFooUi.cs
    1. interface FormFooUi : UiBase
    2. {
    3. //(略)
    4. }
  • FormFooUiImpl.cs
    1. class FormFooUiImpl : FormFooUi
    2. {
    3. private FormFooController mController;
    4. //(略)
    5. }
  • FormFooController.cs
    1. class FormFooController : ControllerBase, FormFooUiListener
    2. {
    3. //(略)
    4. }
  • FormFooUiListener.cs
    1. interface FormFooUiListener
    2. {
    3. //(略)
    4. }

デザイン作業

JavaやC++(Qt)でデザインするときは,C#で書かれた

  • FormFooUi.*
  • FormFooUiListener.*

をインポートして,

  • FormFooUiImpl.*

だけを実装(デザイン)するようにする.