2014年5月26日 星期一

C# 原來MVC是這樣子阿。(MVC概念,略懂)


事情是這樣的:
我是退伍後才開始學C#的,在這之前我連web form 和MVC ,asp.net 都沒聽過。
學校提供我400小時去學習C# 網頁 ,在這裡我很幸運遇到了業界上鼎鼎有名的MVP
雖然當下什麼感覺都沒有(畢竟沒踏入這世界,怎麼會知道這世界的高手呢,真的是有眼不識泰山阿, 哈哈),學習過程中,我只知道viewstate 是造成微軟推出MVC 原因之一。

出社會後,我剛開始接觸的是web form 網頁,在這時候我一直覺得我目前做的東西不叫做mvc,因為有viewstate,直到現在我終於大概了解了。

MVC  (Model ,View ,Control)  只要有心,程式通通都可以做MVC 。

簡單的說,這就是一種分類,你把你的程式碼分成幾個大類以後,方便維護。


今天我示範一個簡單的程式範例,並套用MVC 架構。

這是一個很遜的計算機。



V 層
 protected void 數字跟加_Click(object sender, EventArgs e)
    {
        Button btn= sender as Button;
        TextBox1.Text += btn.Text;
    }
 protected void btn計算_Click(object sender, EventArgs e)
    {
        計算方法.方法一();
    }
C層
public class 計算方法
{
    private static string 方法一前置步驟()
    {
        return "完成";
    }
    private static string 方法一特殊判斷()
    {
        return "完成";
    }
    private static string 方法一某商業邏輯()
    {
        return "完成";
    }
   public static string 方法一()
    {
        方法一前置步驟();
        方法一特殊判斷();
        方法一某商業邏輯();
        計算方法Model.儲存計算結果();
        return "完成";
    } 
}
M層
public class 計算方法Model
{
 public static void  儲存計算結果()
 { 
 }
}

這樣子就分割了MVC 三層了。





範例下載




















2 則留言:

  1. 聽說很多人反對變數,欄位,程序名,函數名...等,用中文命名,請問貴公司不反對嗎?
    不怕日後出現編碼相容性的問題嗎?

    回覆刪除
  2. 這只是舉例吧~
    這樣讓使用者比較容易懂~

    謝謝版主分享
    目前C#也是自學 很高興能看到簡易清晰地說明MVC基本架構

    回覆刪除