アーキテクチャとしてMVCを採用してみた。忘れないように。
:Model
public class Model
{
public int number = 0;
public string message = "";
public EventHandler toChange;
public void addOne()
{
number = number + 1;
message = "number has changed to " + number.ToString();
toChange(this, null);
}
}
:View
public partial class Form1 : Form
{
public Model model;
public Controller controller;
public Form1()
{
InitializeComponent();
}
public void render(object sender, EventArgs e)
{
this.label1.Text = model.number.ToString();
this.label2.Text = model.message;
}
private void button1_Click(object sender, EventArgs e)
{
controller.addOne();
}
}
:Controller
public class Controller
{
public Model mode;
public Form1 view;
public void addOne()
{
mode.addOne();
}
}
:Main
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form1 view = new Form1();
Controller controller = new Controller();
Model model = new Model();
view.controller = controller;
view.model = model;
controller.view = view;
controller.mode = model;
model.toChange += new System.EventHandler(view.render);
Application.Run(view);
}
こんな感じで作ってみた。
最近Railsでの開発を行っているが、先人達が苦労して編み出した、アーキテクチャとかベストプラクティスとかは積極的に取り入れた方がいい。勉強するコストが掛かっても、それ以上のリターンがあると思う。
0 件のコメント:
コメントを投稿