NClay框架MVC应用入门

       这一章节主要讲述NClay框架的MVC在实际应用的入门,开发人员可以通过该案例程序可以看到区别于传统WebFormMonoRailMVC全新开发模式实现;在NClay中并不需要象传统MVC组件那样实现Controller,这部分完全由NClay内部实现;开发人员通过attribute来描述ViewModel的关联处理。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框架的出发点。

在线演示

下载案例程序
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
网页雪碧图制作专家v1.0 是一款辅助网页开发、快速合成雪碧图的实用型工具软件。   网页雪碧图制作专家的界面非常简洁、操作方便、功能强大。   可减轻广大Web程序员或网站网页设计爱好者制作雪碧图时的苦恼、愉快地享用CSS雪碧图网页开发技术。   在网页中使用雪碧图技术,有如下优点:   1.减少加载网页图片时对服务器的请求次数;   2.提高网页的加载速度;   3.更换风格方便。只需在一张雪碧图上修改其中的素材图片,整个网页风格就可以改变;   4.避免网页元素上鼠标滑动效果的一些bug。   当前,雪碧图技术被广泛应用。无论是BAT、谷歌微软亚马逊等的网站,还是小的个人博客,都能见到它的身影。   网页雪碧图制作专家 主要特性   1、绿色软件,无需安装;   2、安全无毒,使用放心;   3、可批量添加素材,可支持从资源管理器拖入素材;   4、灵活强大的排列和对齐功能;   5、自由托拽、灵活移动和改变大小;   6、一键生成雪碧图及CSS、HTML文件;   7、可生成三态按钮背景图、导航栏背景图,tab标签页背景图等;   8、方便的素材导出功能;   9、实用的查找功能;   10、支持设计稿的反复修改,轻松替换旧的素材(比如老板或客户不喜欢某个图标素材,要换成他们喜欢的,用本软件就对了);   11、便携式设计稿文件(*.cssbg格式),单个文件内嵌所有素材,如同photoshop的*.psd格式文件;   12、软件目录里提供了4个经典的“设计稿案例”,让您快速掌握软件的使用方法。  

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值