MVC模式

1. 相关概念简介

在查找MVC的相关资料的时候经常看到的三个概念:设计模式  框架  架构。下面分别介绍一下这三个概念

架构:

        软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口来实现。

软件架构一般来说组织成视图,如同在建筑学中的不同种类的蓝图。一些可能的视图有:

功能/逻辑视图

代码视图

开发/结构视图

并行/过程/线程视图

物理/部署视图

用户动作/反馈视图

有许多为描述软件架构的语言被开发出来,但是关于应该采用什么样的符号集和视图系统还没有达成共识。一些人相信UML将创建一套软件架构视图的标准。

来源维基百科:

http://zh.wikipedia.org/wiki/%E8%BD%AF%E4%BB%B6%E6%9E%B6%E6%9E%84


框架:

       通常指的是为了实现某个业界标准或完成特定基本任务的软件组件规范,也指为了实现某个软件组件规范时,提供规范所要求之基础功能的软件产品。

框架的功能类似于基础设施,与具体的软件应用无关,但是提供并实现最为基础的软件架构和体系。软件开发者通常依据特定的框架实现更为复杂的商业运用和业务逻辑。这样的软件应用可以在支持同一种框架的软件系统中运行。

简而言之,框架就是制定一套规范或者规则(思想),大家(程序员)在该规范或者规则(思想)下工作。或者说就是使用别人搭好的舞台,你来做表演。

来源维基百科:

http://zh.wikipedia.org/wiki/%E8%BB%9F%E9%AB%94%E6%A1%86%E6%9E%B6

总结一下:就是能完成一定功能的半成品软件。在没有框架的时候,所有的工作都要乖乖的从零做起;有了框架,它为我们提供了一定的功能,就可以在框架的基础上做起,大大提高开发的效率和质量。

设计模式:

        设计模式(Design pattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。设计模式特指软件“设计”层次上的问题。

设计模式并不直接用来完成代码的编写,而是描述在各种不同情况下,要怎么解决问题的一种方案。

        设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。

        面向对象设计模式通常以类型或对象来描述其中的关系和相互作用,但不涉及用来完成应用程序的特定类型或对象。设计模式能使不稳定依赖于相对稳定、具体依赖于相对抽象,避免会引起麻烦的紧耦合,以增强软件设计面对并适应变化的能力。


 2.MVC模式

三个概念的相关定义了解之后引出MVC的概念。

1.    概念:

1.    是一种设计模式,它强制性的将应用程序的输入,处理和输出分开。把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。

2.    是软件系统的通用体系架构,一个复杂的架构模式。它的实现也显得复杂。但是已经通过多种设计模式结合在一起,使得MVC模式的实现变得相对简单易行。

3.    是用来帮助控应用系统中”变化”的一种设计模式。

 

2.    三个组件

将应用程序分为三个组件

(控制器Controller)- 负责转发请求,对请求进行处理。

(视图View) - 界面设计人员进行图形界面设计。

(模型Model) - 程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。

 

3.    三个组件的交互

除了将应用程序划分为三种组件,模型 - 视图 - 控制器(MVC)设计定义它们之间的相互作用。

1.  模型(Model) 用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。“模型”有对数据直接访问的权力,例如对数据库的访问。“模型”不依赖“视图”和“控制器”,也就是说,模型不关心它会被如何显示或是如何被操作。但是模型中数据的变化一般会通过一种刷新机制被公布。为了实现这种机制,那些用于监视此模型的视图必须事先在此模型上注册,从而,视图可以了解在数据模型上发生的改变。(比较:观察者模式(软件设计模式))

2.  视图(View)能够实现数据有目的的显示(理论上,这不是必需的)。在视图中一般没有程序上的逻辑。为了实现视图上的刷新功能,视图需要访问它监视的数据模型(Model),因此应该事先在被它监视的数据那里注册。

3.  控制器(Controller)起到不同层面间的组织作用,用于控制应用程序的流程。它处理事件并作出响应。“事件”包括用户的行为和数据模型上的改变。

 

4.    目的

       实现一种动态的程序设计,使后续对程序的修改和扩展化,并且使程序某一部分的重复利用成为可能。除此之外,此模式通过对复杂度的简化,使程序结构更加直观,软件系统通过对自身基本部分分离的同时也赋予了各个基本部分应用的功能。

 

5.    MVC与J2EE架构的对应关系

1.    View:处于Web Tier或者说是Client Tier,通常是JSP/Servlet,即页面显示部分。

2.    Controller:处于Web Tier,通常是Servlet来实现,即页面显示的逻辑部分实现。

3.    Model:处于Middle Tier,通常用服务端的javaBean或者EJB实现,即业务逻辑部分的实现。

 3.总结

       在查找MVC相关资料的时候发现这个新的概念和自己以前接触到的概念有很大的联系,比如设计模式,然后在了解这个新的概念的时候就会去翻看这些以前已经接触的概念,然后对这些概念就会有更多一点的理解。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 19
    评论
### 回答1: MVC模式(Model-View-Controller)是一种软件设计模式,主要用来组织和管理程序的开发和设计。Unity是一款游戏开发引擎,提供了一系列工具和功能来帮助开发者创建和开发游戏。 在Unity中,使用MVC模式可以将游戏的逻辑和数据组织起来,实现更好的代码结构和可维护性。具体来说,Unity中的游戏开发可以按照以下方式应用MVC模式: 1. Model(模型):模型部分是游戏中的数据和逻辑,包括角色属性、游戏状态、游戏规则等。在Unity中,我们可以使用C#编写类来表示模型,并且使用属性、方法和事件来操作和更新模型的数据。 2. View(视图):视图部分是游戏中的用户界面和展示层,包括菜单、按钮、角色模型等。在Unity中,视图可以使用GUI、UI系统或者自定义的UI组件来实现。视图负责显示模型数据,并且根据用户的操作推动控制器进行逻辑处理。 3. Controller(控制器):控制器部分是游戏中的业务逻辑,负责接收用户的输入,控制模型的更新和处理模型之间的交互。在Unity中,我们可以编写脚本来处理用户输入,并根据输入的变化来调整模型的数据或触发事件。 通过使用MVC模式,Unity中的游戏开发可以更好地分离游戏的逻辑、数据和展示层,使得程序更容易理解、扩展和维护。同时,该设计模式也可以增加代码的重用性和可测试性,提高团队合作的效率。 总而言之,MVC模式在Unity中的应用可以帮助开发者更好地组织游戏的逻辑和代码结构,提升开发效率和代码质量。 ### 回答2: MVC模式是一种对软件进行组织的架构模式,其中M代表模型(Model),V代表视图(View),C代表控制器(Controller)。Unity是一种跨平台的游戏开发引擎。 在Unity中使用MVC模式可以更好地管理游戏开发过程中的逻辑和界面分离。首先,模型(Model)部分负责管理游戏的数据和逻辑。它定义了游戏的规则和行为,并且可以与其他模型进行交互。在Unity中,模型可以是游戏对象的脚本,用于控制游戏对象的行为和属性。 其次,视图(View)部分负责展示游戏的界面和图形内容。在Unity中,视图可以是游戏对象的渲染组件,例如UI元素或3D模型。视图接收模型的数据并将其显示给玩家。同时,视图还可以向控制器发送用户输入的消息,以便更新游戏状态。 最后,控制器(Controller)部分是连接模型和视图的中间人。它接收视图发送的输入消息,并根据消息的类型调用模型的方法进行状态更新。控制器还可以向视图发送消息,告知其需要更新界面或显示新的内容。在Unity中,控制器可以是脚本组件,用于处理用户输入和游戏逻辑的交互。 通过使用MVC模式,Unity可以实现良好的代码组织和项目管理。它将游戏逻辑,界面显示和用户交互分离开来,使开发人员可以更专注于每个部分的设计和开发。此外,MVC模式还提高了代码的可维护性和可扩展性,使团队成员可以更方便地合作开发和修改游戏。 ### 回答3: MVC(Model-View-Controller)是一种软件架构模式,用于将应用程序的不同组成部分进行分离和组织。在Unity中,也可以应用MVC模式来设计和开发游戏或应用程序。 在MVC模式中,三个主要组成部分分别为模型(Model)、视图(View)和控制器(Controller)。 1. 模型(Model):模型表示游戏或应用程序的数据和逻辑部分。它负责处理和管理数据,以及定义游戏规则和逻辑。在Unity中,模型通常是由脚本或脚本组件实现的。 2. 视图(View):视图负责展示和渲染游戏或应用程序的界面和图形。它负责将模型中的数据以可视化的形式呈现给用户。在Unity中,视图通常是由场景、UI元素或其他图形组件构成的。 3. 控制器(Controller):控制器作为模型和视图之间的桥梁,负责处理用户输入和事件,并将其转化为对模型或视图的操作。它帮助用户与游戏或应用程序进行交互,并控制游戏流程。在Unity中,控制器通常通过脚本来实现。 使用MVC模式可以提高游戏或应用程序的可维护性、可扩展性和可重用性。通过将不同的逻辑和功能进行分离,我们可以更方便地进行测试、维护和更新。 在Unity中,我们可以根据游戏或应用程序的需求,使用MVC模式来设计和实现不同的功能模块,比如角色控制、UI交互、关卡管理等。通过合理地规划和组织,我们能够更有效地编写代码、管理资源和调试错误,提高开发效率和质量。 总结:在Unity中,MVC模式可用于游戏或应用程序的设计和开发,帮助我们更好地组织和管理代码,提高软件的可维护性和可扩展性。
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值