goo blog サービス終了のお知らせ 

いしもち通信

お魚大好き人間の情報交換。旅先の思い出情報交換。
サーバー管理。学校でのAccess利用。PC関連情報。
社会問題。

オブジェクト指向プログラミングについて考える2

2018-04-18 22:03:51 | Weblog

View(Form1)の役目は、Controllerにコントロールの値(textboxの値)を伝えること、そしてメソッド(Yno)を呼び出すこと。

 フォームに追加するコードは、//の部分だけ。

Controllerクラスのメソッドを呼び出すため、インスタンスを生成して、変数に格納。

public partial class Form1 : Form

{

  private Controller controller;      //private変数に格納

  public Form1()

  {

     InitializeComponent();

     controller = new Controller();     //コンストラクターでインスタンス生成

  }

--------------略---------------- 

ボタンのクリックイントに追加するのは、//の部分だけ。

textbox1の値をControllerに渡し、メソッドを呼び出す。

///の部分はおまけ、結果を別の場所で利用できるようにクリップボードにコピーしておく。

 private void button1_Click(object sender, EventArgs e)

{

  controller.Jcode = textBox1.Text;              //コントローラーに渡す郵便番号

  string gt = controller.Yno();                      //メソッドの呼び出しと戻り値が入る変数

  textBox2.Text = gt;                             //戻り値(住所)をtextboxに表示

  Clipboard.SetText(gt);                               ///クリップボードにコピー

}

 このように、フォームのコードは少なくごく簡単なものである。実行結果を示すと

 Controllerはフォームから受け取った情報もとに、処理はModelに任せます。

コンソールアプリ(Model)のYubinクラスのYnoメソッドを呼び出し、結果を受け取ります。

 public class Controller

{

   public Controller()

   {

      Yubin yubin = new Yubin();

    }

    public string Jcode { get; set; }    //フォームから受け取るプロパティJcode

 

    public string Yno()

   {

      var gtcreator = new Yubin();

      return gtcreator.Yno(Jcode);

    }

}

 

以上、出来上がっているコンソールアプリ(Model)は全く変更なく、ViewとControllerとの連携がとれました。


最新の画像もっと見る

コメントを投稿

サービス終了に伴い、10月1日にコメント投稿機能を終了させていただく予定です。