最近在公司开发时用到了一种挺特别的设计模式,这种模式很好的把UI分离出来,它把UI抽象出一个View,然后独立出一个Presentation来对View进行控制,把BLL很好的与UI接起来,这上面所提到的就是我们接下来要了解的MVP模式。
好,下面让我们先看看一个应用程序的体系结构:
上图是从微软的msdn上拿下来的,很清晰可以看到,我们会把系统分为了好几块,分了这几块后本人感觉到的好处有两个:
一是把系统很好的分层了,以后维护起来也是挺方便的,特别是在Presentation与UI这两层。
二是把整个系统的开发,很好的分工了,它能清楚的告诉团队的每一个人自己写出来的服务或是组件给的用户是谁。
说起来很抽象,还是写个例子吧。
Default Page Code
1public partial class _Default : System.Web.UI.Page, IDefaultPageView 2{ 3 protected void Page_Load(object sender, EventArgs e) 4 { 5 DefaultPagePresentation presentation = new DefaultPagePresentation(this); 6 if (ButtonOnClick != null) 7 { 8 ButtonOnClick(sender, e); 9 } 10 } 11 12 IDefaultPageView 成员#region IDefaultPageView 成员 13 14 public event EventHandler ButtonOnClick; 15 16 public void ShowMessage(string pStr) 17 { 18 Response.Write(pStr); 19 } 20 21 #endregion 22} 23 24/**//// <summary> 25/// Default页面抽象视图 26/// </summary> 27public interface IDefaultPageView 28{ 29 void ShowMessage(string pStr); 30 event EventHandler ButtonOnClick; 31} 32 33/**//// <summary> 34/// 控制类 35/// </summary> 36public class DefaultPagePresentation 37{ 38 private IDefaultPageView _view; 39 40 public DefaultPagePresentation(IDefaultPageView pView) 41 { 42 _view = pView; 43 _view.ButtonOnClick += new EventHandler(_view_ButtonOnClick); 44 } 45 46 void _view_ButtonOnClick(object sender, EventArgs e) 47 { 48 _view.ShowMessage("Hello world!"); 49 } 50} 51
从上面的例子的效果是一运行就会输出 "Hello world!" 。不用多解释了,说多了也没用,大家还是看代码吧。
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索抽象
, public
, 模式
, default
eventhandler
android mvp模式、mvp开发模式、mvp、mvc模式、mvp设计模式,以便于您获取更多的相关知识。
时间: 2024-08-04 00:09:25