MVC和三层,我的一个不成熟的看法,大家批批

 

  这里说的MVC指的是设计模式里的MVC不是asp.net mvc。

 

  既然MVC是一种设计模式,那么他就应该在任何地方都可以使用。比如三层。

  有人说MVC里的V相当于三层里的UI,M相当于三层里的DAL + BLL。这么理解也不错,因为设计模式可以应用在任何地方,这么理解是完全可以的。但是我有另一种理解,大家看看对不对。

  我觉得在UI层里面也可以使用MVC设计模式。请注意仅仅只在UI层里。还是用一个实例来说明吧,我不擅长讲原理。

 

  假设我们要显示博客园的首页,再缩小一下范围,我们要实现首页的里博文列表。美工做出来的html是这样的(代码一),那么这个是不是V呢?

 

  下一步,我们要把数据库里的数据填充上。我们再来定义一个json(代码二),那么这个是不是M?准确的说是M的一部分。

 

  然后我们要把html和数据合在一起,我们可以写一段js(代码三)来实现。那么这段js是什么呢?这个我也有一些犹豫,不知道是属于M还是应该属于C。暂且先放在这里。

 

  这些东西如何配合工作呢?我们再写一段js(代码四)。

 

  这个可以说是C,没有什么问题吧。页面加载后触发,加载V,加载M,调用代码三,把html和数据合在一起。

 

  那么我上面说的这些是不是应用了MVC设计模式呢?这个我还真不敢确定。如果你说,这些都是三层里的UI,那么我同意。不过如果你说这些都是MVC里的V,那么我就不同意了。呵呵。

 

  刚刚学习jQuery,js的底子也比较烂,所以代码比较惨不忍赌了,希望能够把我的意思表达出来,大家多多包涵。

 

代码一:

 

<div class="post_item">
    <div class="digg">
        <div class="diggit"> 
            <span class="diggnum" id="digg_count_{id}">{顶的数量}</span>
        </div>
        <div class="clear"></div>    
        <div id="digg_tip_{id}" class="digg_tip"></div>
    </div>      
    <div class="post_item_body">
        <h3><a class="titlelnk" href="{随笔url}" target="_blank">{标题}</a></h3>       
        <p class="post_item_summary">
            <a href="{作者url}" target="_blank"><img align="left" class="pfs" src="{作者头像}" alt=""/></a>  
            {随笔简介}</p>       
    <div class="post_item_foot">        
    <a href="{作者url}" class="lightblue">{作者昵称}</a> 
    发布于 {发表时间} 
    <span class="article_comment"><a href="{随笔url}#commentform" title="最新评论时间:{最新评论时间}" class="gray">
        评论(<span id="feedback_count_2042255">{评论数}</span>)</a></span> 
    <span class="article_view"><a href="{随笔url}" class="gray">
        阅读(<span id="viewcount_2042255">{阅读次数}</span>)</a></span></div>
    </div>
    <div class="clear"></div>
</div>

 

 

代码二:

var bolg = {
["标题":"";"随笔URL":"";其他省略……],
["标题":"";"随笔URL":"";其他省略……]
}

代码三:

var 模板 = "";//就是上面那段html
var div = replace(模板,"{标题}",bolg[0].标题);
//也可以用其他的方法实现,目前我只会替换。当然还要写个循环,这里就省略了。

代码四:

$(document).ready(function(){
$.ajax({
type: "GET",
url: "blog.ashx",//获取数据
success: function(msg){
//调用第三段代码,显示数据
}
}
});

 

 

ps:

刚刚看到了 Leepy 写的 谈谈对于企业级系统架构的理解  很是佩服,不知道我这里说的,是不是他说的UI逻辑。

 

时间: 2024-07-31 22:11:58

MVC和三层,我的一个不成熟的看法,大家批批的相关文章

java中的mvc和三层结构究竟是什么关系

一件事,要知其然往往很简单,要知其所以然通常不是那么容易,就如最近重新巩固spring的过程中,就觉得还有许多问题其实并不是十分明了. 屈指一算,手头上做过的正式项目也有了四五六七个了,不管用的数据库和其他一些细节上的技术如何,总的来说大的框架结构都是差不多的. 说白了,也就是mvc和三层结构. 而mvc和三层结构究竟是什么关系,我曾在面试的过程中被人问过几次,也曾仔细的想过.查过这个问题,但是直到此时,我也还是不能完全确定. 只不过随着时间的积累,随着技术的沉淀,随着视野的拓宽,我大体上认同了

阳光行动给我们一个越来越成熟的百度

   12月17日有幸受邀参加了百度的"阳光行动"启动仪式.那天,北京最高气温攀升至7摄氏度,一扫前几日严寒的肃杀,百度大厦更是温暖热闹.当天上午,百度公司与中国互联网违法和不良信息举报中心联合发起的"阳光行动"启动仪式在百度大厦五福降中天举行.      这个活动旨在打击互联网不良信息,构建和谐网络环境.活动策划者站在一个相当的高度,无论从阳光行动四大举措的提出.参会部委领导的规模,还是从政府来宾的表态.李彦宏的演讲来看,这次启动仪式都可以说是一个简约实在,且沟通

asp.net MVC 中的过滤器 ,一个路径设置对应一个过滤器类的对象吗

问题描述 asp.net MVC 中的过滤器 ,一个路径设置对应一个过滤器类的对象吗 asp.net MVC 中的过滤器 ,一个路径设置对应一个过滤器类的对象吗 .还是多个路由对应一个过滤器对象.有没有大神给讲解下路由和过滤器的对应关系代码如下:控制器代码: [CustAuthorize(""list"")] [Route(""list"")] public ActionResult List() { return View(

model-NET MVC和三层的数据层是否可以一起使用,用法区别?

问题描述 NET MVC和三层的数据层是否可以一起使用,用法区别? 请问MVC模式结合三层框架怎么实现啊? MVC的model和数据持久层可以并用吗? 解决方案 数据持久层用M就行. 如:hibernate 只是作为数据持久化框架使用,作为MVC中的M(module)来使用,通过ORM映射将表映射成对象,通过对映射出的对象的操作来改变表,仅作为MVC的一部分 解决方案二: 三层是三层,MVC是MVC,它们毫无关系的. 三层是从整个应用程序架构的角度来分的三层(如果程序需要,还可以分多层). 三层

cshtml-关于MVC做的网站的一个问题!在线等!!!!

问题描述 关于MVC做的网站的一个问题!在线等!!!! <!--头部属性筛选(取数据库的数据绑定,如果有选中就调用current方法,)--> <div class="choose-tab"> @using (Html.BeginForm("QueryProduct", "Product", FormMethod.Get)) { if (ViewData["getType"].ToString() !=

浅谈MVC与三层架构

  首先给大家引入下MVC的概念:   MVC(Model View Controller)模型.视图以及控制器,它是一种较为广泛应用的结构设计模式.   模型:就是在MVC设计模式中需要被显示的数据.在通常情况下,该模型需要从数据库中读取数据.保存模型的状态等,提供数据的访问方法以及数据的维护.   视图:就是用来显示模型中数据的用户界面,一般来书,视图就是HTML页面.   控制器:就是用来处理对用户的输入或者交互命令,以便改变模型的状态,选择适当的视图来显示对应的模型数据.   工作机制如

谈谈我对打造一个成功站点的看法

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 在如今的这个互联网高速发展的时代,打造一个高权重的网站是很多站长和企业梦寐以求的事情,说简单一点就是要打造一个能够给站长和企业带来收益的网站,那么首先就得有一个好的网站排名,有高流量,这往往是一个难点,也是大家做网络营销最关键的一个步骤,那么下面笔者就来谈谈我对于打造一个完美网站的看法! 1.内外链建设合理 内外链的建设我相信大家都有所了解,

初识MVC与三层架构

MVC 即 Model View Controller .mvc是一种很好的设计模式的综合应用.其中 M 即Model(模型层),主要负责处理业务逻辑以及与数据库的交互. V 即View(视图层),主要用于显示数据和提交数据. C 即Controller(控制器),主要用于接受请求并控制请求转发.   三层架构,是最基本的项目分层结果.秉承"高内聚,低耦合"的思想,将整个业务应用划分为:UI层(表示层).BLL(业务逻辑层).DAL层(数据访问层).系统的主要功能和业务逻辑在BLL层进

三层架构 ent-求一个简单3层架构,.ent

问题描述 求一个简单3层架构,.ent 想学3层架构,求一个简单3层架构模版,能对一张表进行修改! 247056534@qq.com 解决方案 你用微软的Mvc框架就行了 解决方案二: 上网搜找一个自己下载 解决方案三: 是.net吗?是的话就如楼上所说的直接使用微软的MVC框架,结合EF,连连接数据库的类都可以省掉不写了. 你也可以自己添加三个基础类库 Model DAL BLL Model的作用数据访问层,实体类什么的可以放在这一层. DAL层为数据访问层,用于存放链接数据库的类或者做增删改