`
shuxiang
  • 浏览: 28426 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

前端MVC,这样封装M层好处是什么?

 
阅读更多

 

在《Javascript Web Application》第3章——Model and Data中对模型层的封装,代码如下:

虽然代码看懂了,可这样封装的好处有哪些呢?而且如果不配图,很难理解这段代码,求牛人解析。

var Model = {
    inherited: function() {},
    created: function() {},

    prototype: {
        init: function() {}
    },

    create: function() {
        var object = Object.create(this);
        object.parent = this;
        object.prototype = object.fn = Object.create(this.prototype);

        object.create();
        this.inherited(object);
        return object;
    },

    init: function() {
        var instance = Object.create(this.prototype);
        instance.parent = this;
        instance.init.apply(instance, arguments);
        return instance;
    }
}

例子中用到的原型继承
if (typeof Object.create !== "function")  
    Object.create = function(o) {
        function F(){}
        F.prototype = o;
        return new F();
    }
  
创建具体模型
var Asset = Model.create();
 
创建具体模型实例
var asset = Asset.init();
  
对应的原型链图:


 

分享到:
评论
1 楼 jutleo 2012-11-02  
对象工厂的方式

相关推荐

    三层架构和MVC的区别和联系

    然后,Controller调用相应的Service和DAO层处理业务逻辑和数据库交互,最后将结果封装成ModelAndView返回给前端。ViewResolver根据ModelAndView中的视图名称解析视图,并将模型数据传递给视图层进行渲染,最后返回给...

    详解MVC如何使用开源分页插件(shenniu.pager.js)

    在MVC模式中,View负责显示数据,Controller处理用户交互,而Model则封装了应用的核心业务和数据。 【shenniu.pager.js插件】 shenniu.pager.js是一个开源的JavaScript分页插件,适用于MVC架构。它的优势在于轻量...

    spring+spring mvc+mybatis框架整合实现超市货物管理系统

    在实现CRUD操作时,Service层会调用Mapper接口来执行SQL,返回结果给Controller,最终由Controller处理请求并返回响应给前端。 登录功能的实现通常涉及用户认证和授权。Spring Security可以作为一个强大的工具,...

    MVC邮件发送

    在Model层,我们可以定义一个类来封装邮件信息,如发件人、收件人、主题和正文等。例如: ```csharp public class MailMessageModel { public string From { get; set; } public string To { get; set; } ...

    电商平台移动前端框架构建.pptx

    6. **JavaScript 与 MVC**:MVC模式在前端框架中广泛应用,其中入口文件作为Main Controller,负责协调View(视图)和ViewModel(数据模型)。JavaScript在这里扮演了核心角色,提供了强大的操控性,确保了数据和...

    SpringBoot+Security+Vue前后端分离开发权限管理系统

    Boot2MVC框架?开发的一站式解决方案Spring?Security5?认证和授权框架MyBatisPlus3.3.1?基于?MyBatis?框架的快速研发框架MyBatisCode工具生成?MyBatis?相关代码Jackson提供了处理?JSON?数据的工具Lombok简化对象封装...

    springMVC详解项目详细配置集成mybatis

    它是一个轻量级的、基于注解的模型-视图-控制器(MVC)架构,为开发者提供了强大的控制层组件,使得构建可维护性和测试性强的Web应用变得简单。在本项目中,我们将深入探讨SpringMVC的配置细节,以及如何将其与...

    M-V-C开发超市管理系统

    **M-V-C(Model-View-Controller)模式详解** MVC模式是一种软件设计模式,广泛应用于Web应用开发中,尤其在Java、.NET等平台上。它将应用程序的业务逻辑、用户界面和数据处理分离,提高了代码的可维护性和可扩展性...

    java书籍商城视频m371e_zimu.rar

    这个压缩包中的资源可能包含一系列教学视频,指导学习者了解如何使用Java技术来设计、开发和实现这样的系统。 【描述】:“java书籍商城视频m371e_zimu.rar”描述了一个教育项目,旨在帮助开发者或者编程初学者深入...

    SpringSpringmvcmMybits

    - **DispatcherServlet**:它是 Spring MVC 的核心组件,作为前端控制器,负责接收请求并分发给合适的处理器。 - **HandlerMapping**:负责将请求映射到对应的处理器方法。 - **HandlerAdapter**:适配不同的处理器...

    Spring MVC的 架构模式

    - **M (Model)**: 通常指的是业务对象或数据模型,它们封装了应用程序的数据和业务逻辑。这些模型可以是简单的JavaBean或更复杂的领域模型。 - **V (View)**: 视图负责将数据以用户友好的形式展示出来。在Web环境...

    BOS EASV7.5开发指南_Web应用开发平台(WAFII)

    - **常用工具方法**:封装的辅助功能方法,方便在前端逻辑层调用。 #### 5. 基于WAFII的业务模板开发应用 - **基础资料模板**:各种基础资料的数据结构设计。 - 标准基础资料模板 - 多级基础资料模板 - 分组...

    基于PHP技术的高校思政课程考核系统的设计与实现.pdf

    显示层通过使用HTML、CSS、JavaScript、Ajax等综合前端技术,形成操作视图页面,用户进入视图,基于角色登录系统,进入操作界面,通过统一的接口向数据层(MySQL数据库)发送数据访问请求,控制层将操作请求按照一定...

    SSM在线电影评价系统开题报告.doc

    - MyBatis作为持久层框架,封装了JDBC,提供了SQL映射文件与Java对象之间的映射,简化数据库操作。 系统运行流程如下: - 用户通过前端界面发送请求至Spring MVC控制器。 - 控制器调用Service层方法,Service层通过...

    ssm分页,springmvc js 分页

    1. **Spring MVC**:作为SSM中的M层,负责接收前端请求并转发给服务层。在分页场景下,Controller会接收包含当前页和每页显示条数的参数,然后调用Service接口进行处理。 2. **Ajax**:前端通过Ajax异步发送请求,...

    平面设计课程在线学习平台系统--论文.rar

    “M”也是Model,模型层,用于封装业务数据。这种架构使得开发者能高效地实现CRUD操作,并与其他服务进行交互。 数据库方面,项目可能使用了MySQL或者Oracle等关系型数据库来存储用户信息、课程数据、学习进度等。...

    Java应用程序和java Web调用Matlab配置实例

    这一步会生成一个Java包,其中包含一个或多个Java类,这些类封装了M文件的功能。在编译过程中,你可能需要设置一些编译选项,比如输入输出参数类型,以适应Java的调用方式。 在Java项目中,引入编译后的Java类,并...

    学生管理系统 mysql+springMVC

    Service层是业务逻辑的核心,可以实现如添加学生、查询课程、统计成绩等功能。此外,SpringMVC还支持注解驱动,使得代码更加简洁易读,如@Controller、@RequestMapping等,极大地提高了开发效率。 在实际部署和运行...

    Springmvc框架笔记

    - **M(Model)**:模型,用于封装业务数据和业务逻辑。 - **V(View)**:视图,负责显示数据,通常由JSP页面实现。 - **C(Controller)**:控制器,处理用户的请求,并控制程序的流程。 SpringMVC的核心组件包括...

    student查询系统

    1. `Model`:定义了学生信息的数据模型,包括属性和对应的getter、setter方法,用于封装数据库中的表结构。 2. `Controller`:实现了对用户请求的处理,如HTTP请求的接收、参数解析,以及调用Service层进行业务处理...

Global site tag (gtag.js) - Google Analytics