MVC模型和FishiGUI应用层的MVC模型

MVC概述:

MVC  (Modal View Controler)M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据你可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。

MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。 
  • 视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Macromedia Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services.
  • 如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。
  • 模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
  • 控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。

MVC模式使用的一般基本要求:

  • 同一信息可以在不同的窗口中显示
  • 数据的变化会即时在显示窗口中反映出来
  • 用户接口很容易改变,甚至可以在运行时改变
  • 不同的用户接口风格不会影响应用程序的核心逻辑

FishiGUI应用层的MVC模式:

依照MVC模式,可以将FishiGUI系统的应用层(即FishiGUIDemo)进一步分解为显示层和应用逻辑层,显示层包含视图和控制器这两个内部组件,而应用逻辑层则被抽象为MVC模式中的模型组件;为了保证软件质量,基于FishiGUI系统开发的应用程序也需要遵循一定的设计原则:应用逻辑层不能直接调用显示层的元素,因此,为了更新用户视图。必须改变注册的方式,先由视图在模型中注册,在由模型根据注册信息发送更新信息

				
时间: 2024-11-07 04:23:41

MVC模型和FishiGUI应用层的MVC模型的相关文章

mvc模型和mvc框架的区别

Spring中的新名称也太多了吧!IOC/DI/MVC/AOP/DAO/ORM... 对于刚刚接触spring的我来说确实晕了头!可是一但你完全掌握了一个概念,那么它就会死心塌地的为你服务了.这可比女人忠诚多了. 在这里我们来说侃下MVC吧!嗯!MVC设计模型和MVC框架之区别. 一组概念需要先理解,因为后面需要用:   架构:简单的说架构就是一个蓝图,是一种设计方案,将客户的不同需求抽象成为抽象组件,并且能够描述这些抽象组件之间的通信和调用.   框架:软件框架是项目软件开发过程中提取特定领域

MVC模型和MVT模型

MVC是众所周知的模式:model(模型).view(视图).controller(控制器),其核心思想是分工.解耦,让不同的代码块之间降低耦合,增强代码的可扩展性和可移植性,实现向后兼容.用户在页面输入url,转交给url控制器,然后根据url匹配相应的视图函数,viwe会去到models取数据,然后models在数据库中取得数据后返回给视图,视图把要展示的数据返回给模版,然后就输出到页面上. MTV,Django也是一个MVC框架,但是在Django中,控制器接受用户输入的部分由框架自行处理

Linux网络知识学习1---(基础知识:ISO/OSI七层模型和TCP/IP四层模型)

以下的内容和之后的几篇博客只是比较初级的介绍,想要深入学习的话建议看书<TCP/IP详解 卷1:协议> 1.ISO/OSI七层模型    下四层是为数据传输服务的,物理层是真正的传输数据的,数据链路层.网络层.传输层主要是写入对应数据的传输信息的        物理层:比特            设备之间的比特流的传输.物理接口.电气特性        数据链路层:帧            保存的最主要的信息是网卡的 mac 地址,mac 地址负责局域网通信的,发件人和收件人的mac 地址  

OSI七层模型和TCP/IP五层模型、iproute家族命令、管理工具介绍

1.简述osi七层模型和TCP/IP五层模型网络协议通常分不同层次进行开发,每一层分别负责不同的通行功能. 1.1 OSI七层模型OSI:Open System Internetconnection(开放系统互联),由ISO国际标准化组织定义:目的是规范网络环境,实现软硬件兼容:自上而下共分为七层,分别为:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层. 应用层:各种应用程序及接口 表示层:对数据进行转换,加密.压缩 会话层:维持不同应用程序的数据分离 传输层:提供可靠的端到端的报文

OSI七层协议模型和TCP/IP四层模型比较

TCP/IP四层模型 ISO制定的OSI参考模型的过于庞大.复杂招致了许多批评.与此对照,由技术人员自己开发的TCP/IP协议栈获得了更为广泛的应用.如图2-1所示,是TCP/IP参考模型和OSI参考模型的对比示意图. 图2-1 TCP/IP参考模型 2.1 TCP/IP参考模型的层次结构 TCP/IP协议栈是美国国防部高级研究计划局计算机网(Advanced Research Projects Agency Network,ARPANET)和其后继因特网使用的参考模型.ARPANET是由美国国

Actor模型和CSP模型的区别

Akka/Erlang的actor模型与Go语言的协程Goroutine与通道Channel代表的CSP(Communicating Sequential Processes)模型有什么区别呢? 首先这两者都是并发模型的解决方案,我们看看其定义和实现方式: Actor模型描述了一组为了避免并发编程的常见问题的公理: 1.所有Actor状态是Actor本地的,外部无法访问. 2.Actor必须只有通过消息传递进行通信. 3.一个Actor可以响应消息:推出新Actor,改变其内部状态,或将消息发送

基于JVM原理JMM模型和CPU缓存模型深入理解Java并发编程

许多以Java多线程开发为主题的技术书籍,都会把对Java虚拟机和Java内存模型的讲解,作为讲授Java并发编程开发的主要内容,有的还深入到计算机系统的内存.CPU.缓存等予以说明.实际上,在实际的Java开发工作中,仅仅了解并发编程的创建.启动.管理和通信等基本知识还是不够的.一方面,如果要开发出高效.安全的并发程序,就必须深入Java内存模型和Java虚拟机的工作原理,从底层了解并发编程的实质:更进一步地,在现今大数据的时代,要开发出高并发.高可用.考可靠的分布式应用及各种中间件,更需要深

什么是CSS盒模型 ?IE盒模型和W3C盒模型是什么?

1.CSS盒模型 盒模型,顾名思义就是一个盒子.生活中的盒子,有长宽高,盒子本身也有厚度,可以用来装东西.页面上的盒模型我们可以理解为,从盒子顶部俯视所得的一个平面图,盒子里装的东西,相当于盒模型的内容(content):东西与盒子之间的空隙,理解为盒模型的内边距(padding):盒子本身的厚度,就是盒模型的边框(border):盒子外与其他盒子之间的间隔,就是盒子的外边距(margin).其中CSS盒模型(图1)分为IE盒模型(图2)和W3C盒模型(图3). 盒模型一共有两种模式,一种是标准

架构设计:系统间通信(7)——IO通信模型和Netty 下篇

接上文<架构设计:系统间通信(6)--IO通信模型和Netty 上篇> 5.再次审视为什么使用Netty 上篇文章我们讨论了Netty的基本原理,重要概念,并使用java代码描述了Netty的基本使用.当然Netty的技术涵盖点远远不是那一篇基础代码就可以全部概括的,但是至少可以给读者一个切入点.让大家去思考一个我们一直在讨论的问题:为什么有了JAVA NIO框架后我们还需要有Netty这样的框架对底层再次进行封装? 5-1.IO模型的封装 5-1-1.再次总结IO模型 在前文中我们已经提到了