Model View Presenter模式之后

时间:2010-03-03 12:20:09  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:时间写了一个Demo。    本来想不发到Blogs中,但是还是和大家分享一下,    第一,让初学者有关的例子可以参照,毕竟读代码,要比看书有感觉,    第二,也可以让高手们指点指点,有哪些不足,然后看看高手们能不能就有关于MVP模式,在项目中的应用谈谈他们的看法。    第三,有关于MVP模式的文章cnblogs中好像很少,因...
  正文:ModelViewPresenter 模式已经推出快二年了吧,今天公司新的兄弟,午饭时和我谈到有关于在项目中是否可以使用MVP模式,然后呼啦啦和我讲了许多,我听了蛮有感处的,但结果让这位兄弟写的时候,他却写了大半个下午,还没个MVP影子,Jezz! 我只好花上10几个分钟的时间写了一个Demo。
   本来想不发到Blogs中,但是还是和大家分享一下,
   第一,让初学者有关的例子可以参照,毕竟读代码,要比看书有感觉,
   第二,也可以让高手们指点指点,有哪些不足,然后看看高手们能不能就有关于MVP模式,在项目中的应用谈谈他们的看法。
   第三,有关于MVP模式的文章cnblogs中好像很少,因为我只看到过两篇,一篇是介绍MVP模式的,一篇是翻译的吧。
   *嗯,不管大家对以下的代码部分有什么疑义,都可以进行评论,希望可以达到共同学习,互相学习的目的,评出你的观点,说出你的理解。
   (希望不要说粗口,这样就不好了。)
  以下是代码部分:
  
  ModelLayer:
  
  
  
  namespace MVPDesign.ModelLayer
  {
   public class XmlData
   {
   /**//// <summary>
   /// 根据Id取得Xml中的数据
   /// </summary>
   /// <typeparam name="T">返回的Type</typeparam>
   /// <typeparam name="V">Id的Type</typeparam>
   /// <param name="id"></param>
   /// <returns>XmlData</returns>
   public static T GetDataById<T, V>(V id) where T : XmlData
   {
   XmlDocument xmldocument = new XmlDocument();
  
   xmldocument.Load("XmlData.xml");
   String path = "/XmlData/Data[@id={0}]/{1}";
   XmlNode titleNode = xmldocument.SelectSingleNode(String.Format(path, id, "Title"));
   XmlNode textNode = xmldocument.SelectSingleNode(String.Format(path, id, "Text"));
  
   XmlData xmlData = new XmlData();
   xmlData.title = titleNode.InnerText;
   xmlData.text = textNode.InnerText;
   return xmlData as T;
   }
  
   internal String title;
   /**//// <summary>
   /// 相对应于XML文件中的Title
   /// </summary>
   public String Title
   {
   get { return title; }
   }
  
   internal String text;
   /**//// <summary>
   /// 相对应于XML文件中的Text
   /// </summary>
   public String Text
   {
   get { return text; }
   }
   }
  }
  
  ViewLayer:
  namespace MVPDesign.ViewLayer
  {
   public interface IDataView
   {
   Int32 DataId { get; }
   String Title { set; }
   String Text { set; }
   }
  
   public class DataPresenter
   {
   internal readonly IDataView view;
  
   public DataPresenter(IDataView view) { this.view = view; }
  
   public void RetrieveData()
   {
   XmlData myPost = XmlData.GetDataById<XmlData,Int32>(view.DataId);
   view.Title = myPost.Title;
   view.Text = myPost.Text;
   }
   }
  }
  PresenterLayer:
  using MVPDesign.ViewLayer;
  namespace Presenter

Model View Presenter模式之后》由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Programming/aspnet/13011.html


关键字:

关于《Model View Presenter模式之后》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td