首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 第二书店 程序员
您的位置:DotNet->NClay框架MVC应用入门

NClay框架MVC应用入门2007-11-14 来自:xuejinyoulan  [收藏到我的网摘]

来源:不要让写程序变成一种负担 - 博客园
  这一章节主要讲述NClay框架的MVC在实际应用的入门,开发人员可以通过该案例程序可以看到区别于传统WebForm和MonoRail的MVC全新开发模式实现;在NClay中并不需要象传统MVC组件那样实现Controller,这部分完全由NClay内部实现;开发人员通过attribute来描述View和Model的关联处理。NClay还引入的接口规范,设计人员在设计系统时必须把业务相关逻辑接口化来实现功能。

下面通过一个类别处理需求来讲述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;

}

}

  逻辑接口制定完成后接下来就是对接口处理的逻辑处理器

[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(logic.CategoryID);
 }
 }

}

  虽然以上代码处理并不完善,但已经足够体现框架的处理模式。

  视图的实现

当接口和处理逻辑都实现后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框架的出发点。

推荐人评论

在NClay中并不需要象传统MVC组件那样实现Controller,这部分完全由NClay内部实现;开发人员通过attribute来描述View和Model的关联处理。

用户评论

正在载入评论列表...

是谁推荐了此篇文章

专家头像张翠萍
个人blog发送信息
张翠萍推荐的其他文章

热点新闻

热点评论

    精彩专题

    资源下载

      网站简介广告服务网站地图帮助联系方式诚聘英才English问题报告
    北京世纪乐知数码科技有限公司  版权所有  京 ICP 证 020026 号
    Copyright © 2000-2006, CSDN.NET, All Rights Reserved