NClay框架MVC应用入门
这一章节主要讲述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<Categories>(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应用入门相关推荐
- spring框架mvc框架_Spring的MVC测试框架入门–第1部分
spring框架mvc框架 最新推出的主要Spring框架是Spring MVC测试框架,Spring Guys声称它是"一流的JUnit支持,可通过流畅的API测试客户端和服务器端Spri ...
- spring框架mvc框架_Spring MVC测试框架入门–第2部分
spring框架mvc框架 这个迷你系列的第一个博客介绍了Spring MVC测试框架,并演示了其在单元测试Spring MVC Controller类中作为控制器而不是POJO进行单元测试的用途. ...
- .NET轻量级MVC框架:Nancy入门教程(二)——Nancy和MVC的简单对比
在上一篇的.NET轻量级MVC框架:Nancy入门教程(一)--初识Nancy中,简单介绍了Nancy,并写了一个Hello,world.看到大家的评论,都在问Nancy的优势在哪里?和微软的MVC比 ...
- Farseer.net轻量级ORM开源框架 V1.x 入门篇:新版本说明
导航 目 录:Farseer.net轻量级ORM开源框架 目录 上一篇:没有了 下一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:数据库配置 前言 V1.x版本终于到来了.本次 ...
- 【公开课视频】ASP.NET MVC+EF入门-20130315
20130315 .Net MVC+EF 入门公开课 适合:.Net MVC入门者 一.内容概要: 1.MVC设计模式 Model 是指 要处理的业务代码和数据操作代码 View 视图 主要是指的 跟 ...
- 【番外篇】ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- ❤️《Vue前端基础框架集合从入门到高级》(小白也可学,建议收藏)❤️
<Vue前端基础框架集合从入门到高级>,小白也可学 文章目录 <Vue前端基础框架集合从入门到高级>,小白也可学 ❤️一.前端核心分析 ❤️1.1.概述 ❤️1.2.前端三要素 ...
- spring框架mvc框架_5篇Spring框架书籍,通过MVC学习Spring
spring框架mvc框架 Spring Framework is one of the most widely used Java EE Frameworks. It's an open sourc ...
- 视频教程-Python框架Djanggo从入门到实战教程(企业级项目实战)-Python
Python框架Djanggo从入门到实战教程(企业级项目实战) 多年web开发经验,精通HTML.CSS.JavaScript.HTML5.CSS3等Web前端开发技术,技术纯熟,项目经验丰富.授课 ...
最新文章
- 1-Swift中的Struct 和 Class
- 陆奇要离职?先看看百度财报吧
- 《淘宝网开店 拍摄 修图 设计 装修 实战150招》一一1.17 如何选择合适的拍摄地点...
- JNDI学习总结(1)——JNDI入门
- python:dist-packages site-packages
- 谷歌浏览器怎么改html5,关于谷歌浏览器不支持html5中audio的autoplay解决方法(js代码解决)...
- PHP-7.1 源代码学习:虚拟机字节码
- hdu 1598(最小生成树变形)
- dqn在训练过程中loss越来越大_DQN算法实现注意事项及排错方法
- Spring Cloud Alibaba 简介
- 安卓下载保存到本地(一)
- 用android ndk编译ffmpeg,AndroidNDK交叉编译FFMPEG
- 物联网的下一步动作会是什么?
- 奔腾双核linux服务器,Dell推出双核心奔腾服务器
- 后端接口如何提高性能?从MySQL、ES、HBASE等技术一起探讨下!
- 一个简单的blog系统(十二) 增加友情链接页面
- 智能电视无法进入服务器,三星智能电视无法连接到服务器怎么办
- 走好职场每一步:关于求职技巧、跳槽迷思、职场困惑
- 专升本英语——菜鸟学习笔记【知识点齐全-轻松学习】!!!
- 软件测试常用的性能测试指标,7个常用的网络性能测试指标