.net(c#)的winform如何簡單易行地進行ui與業務邏輯分層?本系列文章介紹乙個winform分層框架,該框架針對winform中的textbox,checkbox,radiobutton三種ui控制項進行簡單粗暴的ui與業務邏輯分層實現。
軟體行業發展至今,分層的思想可謂是深入人心。企業應用架構模式中三層架構的思想早以眾人皆知,mvc的框架正在引領著web開發的潮流。但在mes系統開發這塊,雖然眾多廠商均標榜自身產品皆採用分層架構,但細究下也只是框架上做到了分層,在粗粒度上還是會出現混層的情況。從筆者近年來接觸的mes系統來看真正做到細粒度的分層基本上可以說是沒有。尤其是winform這塊,ui與業務邏輯基本上是混雜在一起,給單元測試和**重用帶來了極大的困難。不僅在產品上有這樣的情況,在程式設計師教育上也存在同樣的問題。君不見,21天入門到精通系列基本上都是ui和業務邏輯混雜在一起,初級程式設計師基本上也都是乙個窗體檔案加乙個cs檔案直接解決問題。
框架參照mediator模式(隱式中介模式)進行ui與業務邏輯分離,支援textbox,checkbox,radiobutton三種ui控制項,生成uimediator.dll。
專案中通過引用uimediator.dll使用。
如上所示:from1為ui,txtname為textbox控制項,cbcheck為checkbox控制項,rbbutton1、rbbutton2為radiobutton控制項。
新建from1class為後台(業務邏輯)類,繼承ipropertychange(命名空間uimediator)介面並實現方法,如下**所示:
public class form1class : ipropertychange}
private string name;public string name
set
}private bool check;
public bool check
set
}private bool radio1;
public bool radio1
set
}private bool radio2;
public bool radio2
set
}
form1class fc = new form1class();不用寫**,ui控制項的輸入或選擇能及時被後台業務邏輯類的屬性所感知
在後台業務邏輯類中驅動ui顯示時只需要呼叫updateui方法
分享乙個UI與業務邏輯分層的框架 三
前兩篇講解了uimediator框架的使用及具體原理 本篇講述mediatormanager的實現 及展望。mediatormanager的作用有兩點 一是解除前端對mediator子類的依賴,所有前端只需與mediatormanager互動,不需知道mediator子類 二是通過mediatorm...
乙個業務邏輯引發的對多表連線的思考
批量插入語句 insert into 保養表 value.select value.from 裝備表 實現上面業務邏輯主要難點是在查的部分,實現 在滿足現在時間大於保養時間的情況下,有兩種情況會被插入到保養表裡.1 該裝備在保養表裡的state 0的,2 該裝備在保養表裡沒有的 實現這個需求可以有兩...
乙個閘道器與多UI應用
參考 先看目標架構圖 1.包含乙個閘道器gateway,兩個ui應用 分別為ui和admin 乙個資源resource應用,乙個redis 瀏覽器忽略 2.無論是閘道器本身,還是兩個ui應用,還是資源應用,都要通過閘道器去訪問,而不能直接訪問ui應用或資源應用 3.閘道器,ui應用,資源應用都共享r...