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

简介:   这里说的MVC指的是设计模式里的MVC不是asp.net mvc。     既然MVC是一种设计模式,那么他就应该在任何地方都可以使用。比如三层。   有人说MVC里的V相当于三层里的UI,M相当于三层里的DAL + BLL。

 

  这里说的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 >< class ="titlelnk"  href ="{随笔url}"  target ="_blank" > {标题} </ a ></ h3 >        
        
< class ="post_item_summary" >
            
< href ="{作者url}"  target ="_blank" >< img  align ="left"  class ="pfs"  src ="{作者头像}"  alt ="" /></ a >   
            {随笔简介}
</ p >        
    
< div  class ="post_item_foot" >         
    
< href ="{作者url}"  class ="lightblue" > {作者昵称} </ a >  
    发布于 {发表时间} 
    
< span  class ="article_comment" >< href ="{随笔url}#commentform"  title ="最新评论时间:{最新评论时间}"  class ="gray" >
        评论(
< span  id ="feedback_count_2042255" > {评论数} </ span > ) </ a ></ span >  
    
< span  class ="article_view" >< 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逻辑。
 
相关文章
|
SQL 移动开发 前端开发
欢迎来到Jsp编程课时八——Mvc三层综合使用
欢迎来到Jsp编程课时八——Mvc三层综合使用
63 0
|
前端开发 Java Spring
《阿里巴巴Java Spring Boot 2.0开发实战课程》05课:三层MVC网站与架构分层误区、Java面试题
本期分享主题:三层架构MVC网站与分层架构误区、Java面试题,国内系统架构设计的文章和书籍。经常会搞错分层的概念,本课程进行了讲解。还有关于model概念的解析,以及Java Spring Boot2.0面试题。 另外java是免费的!
3681 0
|
SQL 前端开发 数据库
.Net框架搭建之1、SQL Server EF MVC简单三层框架
.Net简单三层框架简介 简单三层框架,是.Net开发中最最基础的框架了,由 数据访问层、逻辑处理层、表示层组成。
1190 0
|
前端开发 .NET 数据库
asp.net mvc应用架构的思考--Unity的应用及三层代码
最近要做一个项目,和国外的架构师聊过之后。对方提到了他准备采用asp.net mvc, jquery, Unity 等技术来代替老的技术: 如asp.net web form. 他请我帮他想一些关于架构的东西。
836 0
|
5月前
|
开发框架 前端开发 .NET
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
66 0
|
8月前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
215 0
|
8月前
|
开发框架 前端开发 JavaScript
JavaScript云LIS系统源码ASP.NET CORE 3.1 MVC + SQLserver + Redis医院实验室信息系统源码 医院云LIS系统源码
实验室信息系统(Laboratory Information System,缩写LIS)是一类用来处理实验室过程信息的软件,云LIS系统围绕临床,云LIS系统将与云HIS系统建立起高度的业务整合,以体现“以病人为中心”的设计理念,优化就诊流程,方便患者就医。
89 0
|
存储 开发框架 前端开发
[回馈]ASP.NET Core MVC开发实战之商城系统(五)
经过一段时间的准备,新的一期【ASP.NET Core MVC开发实战之商城系统】已经开始,在之前的文章中,讲解了商城系统的整体功能设计,页面布局设计,环境搭建,系统配置,及首页【商品类型,banner条,友情链接,降价促销,新品爆款】,商品列表页面,商品详情等功能的开发,今天继续讲解购物车功能开发,仅供学习分享使用,如有不足之处,还请指正。
176 0
|
开发框架 前端开发 .NET
[回馈]ASP.NET Core MVC开发实战之商城系统(三)
[回馈]ASP.NET Core MVC开发实战之商城系统(三)
115 0
|
开发框架 前端开发 .NET
[回馈]ASP.NET Core MVC开发实战之商城系统(一)
[回馈]ASP.NET Core MVC开发实战之商城系统(一)
187 0