NClay框架MVC应用入门
点击次数:67 次 发布日期:2008-11-06 08:11:33 作者:源代码网
|
下面通过一个类别处理需求来讲述NClay的处理过程: 逻辑接口和逻辑制定 首先思考类别处理的逻辑有那些,简单的定义有获取,修改,添加和查询等。总结功能后就制定相关接口: public interface ICategoryView { IList<Categories> Categories { get; set; } } public interface ICategorySave { Categories Category { get; set; } } public interface ICategoryLoad { Categories Category { get; set; } int CategoryID { get; set; 软件开发网 www.mscto.com } } 逻辑接口制定完成后接下来就是对接口处理的逻辑处理器 [NClay.MVC.Controller] public class LogicHandler { public void View(ICategoryView logic) { Expression exp = new Expression(); logic.Categories = exp.List<Categories>(); } public void Save(ICategorySave logic) { if (logic.Category.CategoryID >0) DaoContext.Edit(logic.Category); else DaoContext.Add(logic.Category); } public void Load(ICategoryLoad logic) { if (logic.CategoryID > 0) { logic.Category = DaoContext.Load } } } 虽然以上代码处理并不完善,但已经足够体现框架的处理模式。 视图的实现 当接口和处理逻辑都实现后View需要做的事情就是实现相关接口和控制器的描述了。 [NClay.MVC.Tag("~/Categories.aspx")] [NClay.MVC.Get(typeof(ICategoryLoad))] [NClay.MVC.Post(typeof(ICategorySave))] [NClay.MVC.All(typeof(ICategoryView))] public class CategoriesView:ICategorySave,ICategoryView,ICategoryLoad { #region ICategoryLoad 成员 [NClay.MVC.Bind("item")] public Categories Category { get; set; } public int CategoryID { get; set; } #endregion #region ICategoryView 成员 IList<Categories> ICategoryView.Categories { get; set; } #endregion } [NClay.MVC.Tag("~/Categories.aspx")] 描述当接受Categories.aspx页面请时框架初始化这个视图对象 [NClay.MVC.Get(typeof(ICategoryLoad))] 当页面请求为Get时执行ICategoryLoad逻辑 [NClay.MVC.Post(typeof(ICategorySave))] 当页面请求为Post时执行ICategorySave逻辑 [NClay.MVC.All(typeof(ICategoryView))] 任何请求都处理ICategoryView逻辑 到这里已经描述了NClay的处理过程,对于HTML输出描述就不在这里贴出来了可以下载案例代码了解详情。从实现的代码中可以看到代码非常规范和清晰,就也是NClay框架的出发点。 源代码网推荐 源代码网供稿. |
