欢迎来到天天文库
浏览记录
ID:52894315
大小:482.64 KB
页数:9页
时间:2020-03-31
《NET应用程序架构设计原则、模式与实践-阅读笔记2-1.pdf》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、.NET应用程序架构设计原则、模式与实践详细阅读-重点章节笔记J.G.2013年6月3日目录第一章MVP模式编程11.1案例一:简单MVP模式――产品分类与展示.......................11.1.1底层项目AgileSharp.Chapter2.............21.1.2显示项目AgileSharp.Chapter2.WebUI.........31.2案例二:分层MVP模式――购物网站的商品展示.....................31.3案例三:MVP模式之高级话题WebForm&WinForm
2、双View模式――管理员注册登录系统.....................4第二章EF:实体框架5ii目录第一章MVP模式编程1.1案例一:简单MVP模式――产品分类与展示本案例1中,表示器(Presenter,充当表示逻辑层PresentationLog-ic)、视图(View,充当用户交互的界面UserInterface)、两者接口均在同一项目(显示层WebUI)中,比较适合嵌入已有项目中。源代码参见《AgileSharp.Chapter2》,其AgileSharp.Chapter2.Design为UML建模项目2。当然更理
3、想的是Presenter与View分层,参见章节1.2。NET平台上的Model-View-Presenter模式实现了逻辑性内容与页面的分离解耦,提高代码重用性,尤其是Web、Wap、WinForm等多种平台同时上线时,可使用相同的表示器、接口,只须编写不同的视图即可。而且,由于视图层不含有除保持状态以外的其他逻辑代码,MVP实现“薄用户界面层”,工作量大大减轻。其架构参见图1.13。而MVC模式与之相比:∙结构更加复杂难以理解∙较难实现Controller与View的分隔成两项目∙View通过Observer模式直接与Model
4、通信,两者耦合度较高***以下为对此源代码及其实现的笔记、正式讨论***某将此源代码保留骨干,切掉了建模设计项目AgileSharp.Chapter2.Design、底层项目AgileSharp.Chapter2中的类图Chapter2.cd。重点讨论显示层项目AgileSharp.Chapter2.WebUI――原作者Mr.W也是如此。1P34:企业架构模式实战2Cf:Martin《敏捷软件开发:原则、模式与实践(C#版)》,第13∼19章3Cf:EricZhang《NET平台上的Model-View-Presenter模式实践》
5、2第一章MVP模式编程图1.1MVP模式1.1.1底层项目AgileSharp.Chapter2本层非讨论重点,以下讨论可有可无。此项目各文件一种可能的建立顺序为:1.领域实体:建立领域Domain里的相关实体(案例中未写其具体属性);eg.Product.cs2.仓库接口:建立仓库Repository相应接口;eg.IProductResposito-ry.cs3.其他接口:建立其他相关类的接口;eg.Cache/ICacheStorage.cs4.仓库实体:建立继承自仓库Repository接口的相应实体;eg.Produc-t
6、Repository.cs5.其他实体:建立继承自其他相关类的接口相应实体;eg.Cache/-CacheStorage.cs6.工厂层:建立工厂层Factory各实体对应,静态类、静态方法;eg.RepositoryFactory.cs、CacheFactory.cs1.2案例二:分层MVP模式――购物网站的商品展示37.服务层:引用以上各层,编写具体业务代码。eg.ProductService.cs1.1.2显示项目AgileSharp.Chapter2.WebUI此项目各文件一种可能的建立顺序为:1.添加底层项目;2.一个视图
7、接口;3.一个表示器;4.一个视图。(可能为一个页面、用户控件等等)(a)添加继承视图接口IView(b)添加presenter对象(c)覆写OnInit方法,实例化presenter对象(d)PageLoad方法中添加presenter的相关初始方法Init(e)添加视图接口IView所包括的方法Display,以控制输出Output和控件(f)编写控件相关事件,向presenter传参,控制输入Input,Input将触发Output1.2案例二:分层MVP模式――购物网站的商品展示本案例4中Presenter与View分为两层
8、,源代码参见《AgileSharp.Chapter8.MVPPractice》。采用了IoC容器(StructureMap)来进行依赖注入。也包括了MVP模式开发的一些重要经验5。1.3案例三:MVP模式之高级话题WebForm&Wi
此文档下载收益归作者所有