實現基於ASP.NET MVC快速開發平台

來源:互聯網
上載者:User

    最近一個月,自己利用業餘時間開發一個基於ASP.NET MVC快速開發平台。現在勉強算個原型,但是感覺不是那麼回事,把實現的過程寫出來,歡迎大家拍磚。

    開發思想:利用Asp.Net MVC的思想,實現自己的一套開發平台。

     定位

    1、基本無需程式員寫代碼,通過配置的方式實現項目。

     2、在特定領域,提高ASP.NET MVC開發效率。

     3、不同的程式員寫出同樣的代碼。

     4、提供一套可視化開發和代碼產生的解決方案。

   實現思路:

    利用三個輔助開發工具產生Model、View、Controller的代碼。

    Model:三層架構代碼產生器。

    View:簡易的表單設計器。我對錶單的要求不是太高,通過幾個封裝好的控制群組合成一個頁面就行了。

    Controller :自訂函數,可視化的編程。

    通過三層架構代碼產生器材產生Model。利用WPF或者SL實現一個可視化的表單設計器,通過反射Model,產生基本的操作頁面,可以在設計器上拖拽和修改屬性。使用WF4.0來處理商務邏輯,WF4.0的流程設計器非常強大,可以勝任複雜的商務邏輯處理。

     步驟很簡單:先產生Model,在根據Model反射出表單,然後在表單上關聯和定義相應Action。

    三層架構代碼產生器:主要產生Model層的代碼,用於資料的持久化。

 表單設計器:設計View,和產生View代碼,通過控制群組合的方式產生UI,介面要求統一和簡單。

函數設計器:實現可視化的編程。用於可視化的書寫複雜的商務邏輯代碼。

樣本:

下面我一步一步使用這三個工具,開發一個資料展示的應用程式Demo。

第一步:建立一個自訂的MVC模板項目,這個是我自己封裝的一個項目模板,包括一些常用的dll、js、css等等。

 第二步:配置一級表單:

 第三步:配置一級表單動作點函數

 

第四步:產生Action代碼和儲存WF代碼

代碼

public class HomeController : Controller
{
[HandleError]
[HttpGet]
public ActionResult Index()
{
IDictionary<string, object> inputs = new Dictionary<string, object>();
IDictionary<string, object> results = WorkflowInvoker.Invoke(new IndexWF(), inputs);
return View(results["result"]);
}

}

WF代碼:

 

第六步:產生View:Index.aspx代碼

第七步:將產生好的東西放到第一步建立的項目中

運行:

 

定義展示的詳情頁面:

定義Action:

詳情頁面運行效果:

總結:文本是對我用一個月業餘時間走火入魔般的寫的一個開發工具的總結。雖然沒有達到我想要的結果,但是還是對MVC有了更進一步的瞭解。如果你也有這方面的想法和思考,歡迎加入QQ群96378091討論,或者直接在我blog給我留言,謝謝。

代碼下載:http://files.cnblogs.com/zhuqil/MvcCRUD.rar

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.