1

我正在尝试几天来寻找在客户端和服务器中都使用 MVC 模式的理由。我目前在服务器端使用 MVC 框架,并且创建了一个 RESTfull api。我已经使用jsrender创建了模板

<script id="housestemplate" type="text/x-jquery-tmpl">
    <li><a href="#" onclick="gethouse({{:house.id}});">
        <h3>{{:house.house_type.type}}</h3>
        <p>{{:house.area}} {{:house.bedroom_num}}</p></a>
</script>

然后我使用 ajax 来检索和填充模板

        $.ajax
        ({
            type:"GET",
            url: url ,
            success:function (data) {
                $("#renderHouse").html($("#housestemplate").render(data));
            }
        });

Javascript MVC 框架如何在不破坏 DRY 规则的情况下改进此功能,模型和视图(模板)在客户端和服务器代码中重复?

4

1 回答 1

2

对于that特定的例子,这绝对是一种矫枉过正,你最好使用简单的 javascript/jquery。

但是,将 javascript/jquery 的数量增加到大约 500 行。它看起来怎么样?可管理?1000-2000 LOC怎么样?现在,您希望将所有代码组织为对象(类:) 和可以相互通信的方法,就像后端服务的组织方式一样。嗯……那又怎样?好吧,backbone.js 来救援!它有助于将您的代码组织成 MVC(C) 范式(后者 C 是Collection)。因此,您将代码组织和事件驱动的通信作为框架的一部分,并且您希望之前的 2k 行代码最初以这种方式组织。

那么,骨干带给你什么?意大利面条的代码组织和预防。事实上,您可以使用类似 UML 的分析(类图等)来分析和设计应用程序的“前端”并使其更易于维护。

所以你想问的问题是,值得吗?这取决于您期望的 javascript 数量和前端的范围/大小。正如@jakee 指出的那样,将客户端/服务器视为在不同领域中运行确实有帮助。

祝你好运!

于 2012-06-21T16:49:18.303 回答