
MVC架构设计
文章平均质量分 87
daizhj
这个作者很懒,什么都没留下…
展开
-
Asp.net MVC 示例项目"Suteki.Shop"分析之---NHibernate
在Suteki.Shop中内置了提供了基于NHibernate方式的ORM功能,只不过就目前的项目进度还未全部完成其设计时的构想,另外在单元测试上也没有完整的测试。不过其设计思路还是很有意思的。 就其将NHibernate引入到项目中的实现方式而言,与Rhino.Commons中所提倡的方式如出一辙,那就是基于IRepository模式。关于IRepository这个接口原创 2009-06-08 08:03:00 · 840 阅读 · 0 评论 -
从三层架构到MVC,MVP
本来是不想跳出来充大头蒜的,但最近发现园子里关于MVC的文章和讨论之风越刮越烈,其中有些朋友的观点并不是我所欣赏和推荐的,同时最近也在忙着给公司里的同事做MVC方面的“扫盲工作”。所以就搜集了一些大家接触MVC的过程中经常出现的问题做了一下解释说明,希望能与大家多多交流,呵呵。 当然这种架构模式本身的一些问题也会在接下来的内容就加以介绍,另外就是如果大原创 2009-04-30 15:07:00 · 887 阅读 · 0 评论 -
Asp.net MVC 示例项目"Suteki.Shop"分析之---安装篇
声明:作为这个系列的开篇,本系统会将我在研究这个项目源码中的一些思考和心得介绍给大家。当然本系统决不是那种所谓的“最佳示范”,里面所提到的使用技巧或设计思路只是给大家在实际工作中提供一个参考,所谓“最好”之类的词汇都是“矬子里拔将军”,相信大家在成功的分析了几个MVC示例之后,会找到适合自己所在团队或公司使用的方式或思路的。 其实在找一个合适的MVC示例上我已花费了“一些”时间,原创 2009-05-11 08:06:00 · 894 阅读 · 0 评论 -
Asp.net MVC 示例项目"Suteki.Shop"分析之---数据验证
在Suteki.Shop,实现了自己的数据校验机制,可以说其设计思路还是很有借鉴价值的。而使用这种机制也很容易在Model中对相应的实体对象(属性)添加校验操作方法。下面就来介绍一下其实现方式。 首先,看一下这样类图: 在Suteki.Shop定义一个“IValidatingBinder”接口,其派生自IModelBinder: Code high原创 2009-05-18 09:06:00 · 731 阅读 · 0 评论 -
Asp.net MVC 示例项目"Suteki.Shop"分析之---IOC(控制反转)
在Suteki.Shop中,未使用微软自已的Unity框架来实现IOC,而是使用了大名鼎鼎Castle Windsor。因为引用了Windsor,就有必要简要介绍一下。而我的理解,这个IOC容器(Container)包括下面几个重要概念: 容器(Container):Windsor是一个反转控制容器。它创建在一个微内核的基础之上,这个微内核能够扫描类并且试图找到这原创 2009-05-26 08:05:00 · 1072 阅读 · 0 评论 -
Asp.net MVC 示例项目"Suteki.Shop"分析之---Model和Service
在Suteki.Shop中Model的原型是基于Linq to SQL创建的,其dbml文件位于Suteki.Shop/Shop.dbml。而Suteki.Shop在此文件的基本上,以"partial class "的方式在Suteki.Shop/Model文件夹下创建了相应的类文件以扩展Shop.dbml中Model类的一些方法和属性声明,如下图:原创 2009-05-31 09:05:00 · 935 阅读 · 0 评论 -
Asp.net MVC 示例项目"Suteki.Shop"分析之---结束篇
到今天,这个系列的文章就要先告一段落了。其中我用了10篇文章也没有穷尽该项目的设计思想,只能从中捡了一些我感兴趣的东西进行了分析和说明,正所谓兴趣是最大的动力。当然限于本人水平有限,难免有一些认识上的错误,也希望大家在回复中与我进行交流。 下面把一些还未穷尽的内容做一下罗列,以备感兴趣的朋友继续品味。 1.项目中使用了“Rhino.Mocks”,有对单元原创 2009-06-09 08:03:00 · 729 阅读 · 0 评论 -
一个Asp.net MVC 控件项目分析---Telerik.Web.Mvc
body {padding:0;margin:0;} 在写本文之前,本人一直抱着‘不宜’在asp.net MVC框架下搞什么控件开发的想法,因为一提到控件就会让人想起‘事件’,‘VIEWSTATE’等一些问题,而asp.net MVC下是Controller, Action, Viewpage, Filter等特性的‘天下’。所以总感觉‘驴唇对不上马嘴’。 但直原创 2009-09-09 08:58:00 · 1448 阅读 · 1 评论 -
Asp.net MVC 示例项目"Suteki.Shop"分析之---Controller
在上文中,介绍了如何安装和使用Suteki,今天我们通过源码来看一下Suteki是如何使用Controller。 在Suteki中,其使用Abstract的方式来定义一个ControllerBase,以此作为所有Controller的基类,下面是其Controller的类设计图: 在该基类中定义了一些Controller中常用到的方法,比如原创 2009-05-12 08:06:00 · 664 阅读 · 0 评论 -
Asp.net MVC 示例项目"Suteki.Shop"分析之---ViewData
使用强类型的ViewData好处有许多,比如说在IDE中就会有更好的支持,比如代码提示。同时在View与Controller之间有更严谨的“约定”。在Suteki.Shop项目中作者对强类型的ViewPage引入是通过MvcContrib实现的,下面就是其ViewPage代码(Suteki.Shop/Views/ViewPage.cs): Code highlight原创 2009-05-25 08:06:00 · 783 阅读 · 0 评论 -
Asp.net MVC 示例项目"Suteki.Shop"分析之---NVelocity模版引擎
在Suteki.Shop中使用了NVeloctiy模版引擎,用于提供可订制的邮件模版。而邮件的功能就是当定单状态发生变化时,系统会向买家发送邮件通知。其中的邮件信息内容就是采用NVeloctiy的模版(.vm扩展名)进行订制的。 因为在Sutekie.Shop的最新源码包中只是部分实现了其功能,而全部的功能还在完善中,所以要运行本文中所说的功能,需要在下面的链接地址中下载其原创 2009-06-03 08:05:00 · 1329 阅读 · 0 评论 -
Asp.net MVC 示例项目"Suteki.Shop"分析之---Filter
在Suteki.Shop中对于Filter的使用上提供了两种方式,一种是从FilterAttribute(抽象类属性)以及接口 IActionFilter和 IResultFilter中继承并实现。另一种是我们经常提到的从ActionFilterAttribute 上继承方式来实现自己的ActionFilter。首先看一下第一种,同时它也是该项目中被Action广泛使原创 2009-05-14 08:06:00 · 895 阅读 · 0 评论 -
Asp.net MVC 示例项目"Suteki.Shop"分析之---ModelBinder
在Suteki.Shop中,作者构造了一个ModelBinder基类“DataBinder”,其本身继承自IModelBinder接口,并以此其类派生出其它一些子类类如ProductBinder等等。可以说除了极个别的地方之外,DataBinder被用于了Suteki.Shop大多数的ModelBinder绑定场景之路。 首先看一下其类图结构:原创 2009-05-20 08:06:00 · 724 阅读 · 0 评论 -
关于两个MVC示例的思考(MVCStore和Oxite)
最近看了一些关于MVC框架的东西,加以之前就研究过一些关于 MVC架构的信息,碰巧在网上又看到了这样一篇文章,是关于微软内部的开发者对Oxite项目的个人攻击,让我产生了写篇文章来表达一 下自己对于这种架构模式的思考。 声明,如果之前没看过这两个项目的朋友建议下载相应的源码: MVCStore:http://www.codeplex.com/mv原创 2009-02-26 12:10:00 · 1209 阅读 · 0 评论