• 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><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逻辑。
     
  • 相关阅读:
    【Android】利用服务Service创建标题栏通知
    如何从word文档复制公式到百度ueditor富文本编辑器
    如何从word文档复制公式到百度富文本编辑器
    如何从word文档复制公式到富文本编辑器
    如何从word文档复制图片到富文本编辑器
    关于百度ueditor粘贴图片自动上传
    关于umeditor粘贴图片自动上传
    PAT 甲级1057 Stack (30 分)(不会,树状数组+二分)*****
    PAT 甲级 1056 Mice and Rice (25 分) (队列,读不懂题,读懂了一遍过)
    PAT 甲级 1055 The World's Richest (25 分)(简单题,要用printf和scanf,否则超时,string 的输入输出要注意)...
  • 原文地址:https://www.cnblogs.com/jyk/p/2043954.html
Copyright © 2020-2023  润新知