实时搜索: 23种设计模式为什么没有mvc

23种设计模式为什么没有mvc

274条评论 1010人喜欢 5682次阅读 938人点赞
我想在的项目虽然做好了,但是杂乱无章,而且运行代价高、效率低,我想用一个框架再整合一遍。我以前做的是javaweb项目,现在弄android纯属菜鸟,希望有想法的朋友解答,谢谢! , 我有两个QQ炫舞的角色,但是如果到了周六周日的话,有点券拿,我上了其中一个角色,但是在不同的区,另外的一个角色可以拿同样的点券吗?? , 好像有什么 工厂设计模式 还有MVC设计模式

那到底c#/.NET项目开发有哪些设计模式?分别代表什么意思呢?
急!大虾可以留下你QQ么? ...

什么是MVC设计模式,为什么使用MVC: 尽管最初的设计模式来源于城市和建筑模式,但他的思想也同样适用于面向对象设计模式,只是在面向对象的解决方案里,我们用对象和接口代替了墙壁和门窗。

如何区别c++20种设计模式: 单例模式:这个是必须会的
观察者模式:这个最典型的应用就是mvc模式。
flyweight模式:这个也很常用
Composite(组合):这个很常见吧,
适配器模式:这个也很常用,比如我们一般会封装一些类库。然后成为我们用起来更方便的类。

其它的还很多的。总共23种。设计模式需要边学边用。很多不好理解。等以后觉得自己设计思路不太好了可以再翻翻。

如何在MVC设计模式下利用AJAX技术连接orcal,实现异步刷新: AJAX把请求发给动态网页cshtml
动态网页去连接ORACLE,把结果以XML格式或者文本格式返回给AJAX

一般没有说AJAX直接连接数据库或者javascript直接连接数据库的

要不然查看网页脚本代码就看到要连接的数据库服务器地址和端口账号密码去了

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

模型-视图-控制器(MVC)是Xerox PARC在八十年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐为Sun公司J2EE平台的设计模式,并且受到越来越多的使用 ColdFusion 和 PHP 的开发者的欢迎。模型-视图-控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。
MVC如何工作

MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。

视图
视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Macromedia Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services.

如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。

模型
模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。

控制器
控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。

现在我们总结MVC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。
为什么要使用 MVC

大部分Web应用程序都是用像ASP,PHP,或者CFML这样的过程化语言来创建的。它们将像数据库查询语句这样的数据层代码和像HTML这样的表示层代码混在一起。经验比较丰富的开发者会将数据从表示层分离开来,但这通常不是很容易做到的,它需要精心的计划和不断的尝试。MVC从根本上强制性的将它们分开。尽管构造MVC应用程序需要一些额外的工作,但是它给我们带来的好处是无庸质疑的。

首先,最重要的一点是多个视图能共享一个模型,正如我所提及的,现在需要用越来越多的方式来访问你的应用程序。对此,其中一个解决之道是使用MVC,无论你的用户想要Flash界面或是 WAP 界面;用一个模型就能处理它们。由于你已经将数据和业务规则从表示层分开,所以你可以最大化的重用你的代码了。

由于模型返回的数据没有进行格式化,所以同样的构件能被不同界面使用。例如,很多数据可能用HTML来表示,但是它们也有可能要用Macromedia F......

android常用设计模式或者框架有哪些?我说的是最常用的,像j2ee中的SSH框架。: android内暂时没有什么框架。
自己按照mvc分层的原则做好就好,有些开源的像facebook也有很多的开源库。你可以考虑一下使用。

如何理解MVC设计模式?: MVC(Model-View-Controller)应用程序结构被用来分析分布式应用程序的特征。这种抽象结构能有助于将应用程序分割成若干逻辑部件,使程序设计变得更加容易。

MVC结构提供了一种按功能对各种对象进行分割的方法(这些对象是用来维护和表现数据的),其目的是为了将各对象间的耦合程度减至最小。MVC结构本来是为了将传统的输入(input)、处理(processing)、输出(output)任务运用到图形化用户交互模型中而设计的。但是,将这些概念运用于基于Web的企业级多层应用领域也是很适合的。

在MVC结构中,模型(Model)代表应用程序的数据(data)和用于控制访问和修改这些数据的业务规则(business rule)。通常模型被用来作为对现实世界中一个处理过程的软件近似,当定义一个模型时,可以采用一般的简单的建模技术。

当模型发生改变时,它会通知视(View),并且为视提供查询模型相关状态的能力。同时,它也为控制器(Controller)提供访问封装在模型内部的应用程序功能的能力。

一个视(View)用来组织模型的内容。它从模型那里获得数据并指定这些数据如何表现。当模型变化时,视负责维持数据表现的一致性。视同时将用户要求告知控制器(Controller)。

控制器(Controller)定义了应用程序的行为;它负责对来自视的用户要求进行解释,并把这些要求映射成相应的行为,这些行为由模型负责实现。在独立运行的GUI客户端,用户要求可能是一些鼠标单击或是菜单选择操作。在一个Web应用程序中,它们的表现形式可能是一些来自客户端的GET或POST的HTTP请求。模型所实现的行为包括处理业务和修改模型的状态。根据用户要求和模型行为的结果,控制器选择一个视作为对用户请求的应答。通常一组相关功能集对应一个控制器。下图描述了一个MVC应用程序中模型、视、控制器三部分的关系:

java 有STRUCTS,SPRING
参考资料:http://www.mianxiangduixiang.com

尚学堂培训Java每个星期的课程是什么?:

J2SE阶段

阶段一:J2SE1. JAVA 开发基础知识   2. Eclipse 开发环境   3. JavaSE 7.0 API   4. 多线程技术    5. Socket 网络技术    6. Regular Expression    7. Java反射技术    8. Properties技术 9. 各种实战设计模式   10.  Java Debug技术      11.  面向对象设计原则详解 12.  实例解决面向对象设计阶段二: Java 9高级特性1. JIGSAW     2. HTML5 Javadoc     3. New Collection     4. Lambda表达式 5.  扩展注解的支持阶段三: 实战数据结构1. 数据结构实战训练      2. 数组、链表等常用数据结构实战阶段四:反射机制1. JAVA的动态性    2. Reflection技术     3. JVM类加载器4. Class对象       5. Method等阶段五:GOF 23种设计模式1. 五种创建型模式     2. 七种结构型模式      3. 十一种行为型模式阶段六:实战项目1. 仿12306订票系统        2. 福彩双色球模拟        3. 美式普尔桌球

数据库阶段

阶段一:ORACLE数据库

Oracle 基础管理        2. SQL 语言,PL/SQL 语言     3. 触发器、存储过程4. 序列、索引、视图对象      5. 数据备份与移植     6. 多表连接难题详解7. MySQL数据库的使用阶段二:MYSQL数据库1. Mysql5.5/5.6数据库     2. navigat客户端软件    3. 业界常见问题设计

4. 数据库表的设计范式阶段三:数据库设计1. 设计的三大范式2. PowerDesigner的使用阶段四:JDBC技术1. JDBC基础2. Statement、PreparedStatement、ResultSet结果集对象等阶段五:数据库连接池技术1. Pool池的思想2. 连接池技术3. C3P0、proxool连接池等4. 使用设计模式开发连接池5. 详细扩展与测试池效率阶段六: ORM对象关系映射基本思想1. 使用反射机制2. ORM思想封装JDBC工具阶段七:SQL优化及数据库常见笔试题和面试题阶段八:实战项目1. 优酷网站数据建模2. 百度知道系统数据建模3. 物业管理系统数据建模

移动前端和web前端阶段

阶段一:HTML5 & CSS3 & JavaScript1. JOHTML5 语言2. CSS 3语言3. JavaScript 语言4. 作用域,闭包,继承,模块化编程,异步加载5. BOM浏览器对象模型6. DOM文档对象模型7. JS操作CSS8. JS操作DOM9. ECMAScript10. JS操作DIV11. protoype12. js基于对象编程13. HTML 5新技术特点14. webSocket,地理定位,canvas15. Firefox和chrome浏览器开发者工具16.javascript控制台console阶段二:CommonsJS, Requires.jsjavascript模块化开发阶段三:jqueryUI/jquery easyui 教授企业常用jquery ui和jquery easyui组件阶段四:Echart/fusioncharts/highcharts 报表工具1. 报表统计、报表处理2. 图表处理阶段五:Uediter,Kindeditor在线编辑器1. uediter,kindeditor等在线编辑器技术、配置2. uediter,kindeditor图片和文件上传处理阶段六:WebUpload上传组件文件上传组件的使用

J2EE阶段

阶段一:TCP/IP及Http协议深入讲解1. 深入理解协议内部机制2.掌握TCP/IP协议与HTTP协议的通信标准阶段二:Servlet 和JSP1. Servlet 技术2. JSP 技术3. JSTL Tag Library 技术4. Filter&Listener技术5. 报表系统6. FileUploading7. Tomcat 服务器技术8. servlet 过滤器和AOP编程9. servlet监听器阶段三:Servlet 4 新特性1. 请求/响应复用2. 流的优先级3. 服务器推送4. Http 2.0 新协议阶段四:HTML 5.1

1. CANVAS2. SVG3. GeoLocation4. 离线缓存5. WebSocket通信协议阶段五:Git版本控制系统深入学习git版本控制系统,

并把自己的项目托管到github或其他git代码托管平台,

尝试参与开源软件开发

阶段六:XML 技术1. XML + XSL + DTD/Schema2. XML数据解析阶段七:Tomcat服务器1. 服务器使用2. config配置详解3. 高并发访问下的tomcat优化阶段八:AJAX技术1. AJAX的原理2. AJAX的开发步骤3. AJAX的优化与兼容性问题阶段九: Weblogic服务器对业内多种标准的全面支持,

包括EJB、JSP、JMS、JDBC、XML

(标准通用标记语言的子集)和WML,

使Web应用系统的实施更为简单,

并且保护了投资,

同时也使基于标准的解决方案的开发更加简便

阶段十:Linux课程掌握基于Linux的Centos 7 系统

安装、操作、部署及环境搭建

阶段十一:  jQuery 3最新的JavaScript框架jQuery,

2016年6月发布最新版3.0,

更快的速度,更小的尺寸,更优越的设计

阶段十二:Bootstrap1. 响应式布局2. 12栅格系统3. 扁平化UI4. Webkit组件5. LESS标准阶段十三: 实战项目1. 虎峰物业收费系统2. 易人贷P2P金融门户与第三方支付

高级框架阶段

阶段一:SPRING MVC框架

Spring MVC属于SpringFrameWork的后续产品,

已经融合在Spring Web Flow里面。

Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块

阶段二:Mybatis 3

MyBatis 是支持普通 SQL查询,

存储过程和高级映射的优秀持久层框架。

MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索

阶段三:Struts 2.51. Struts应用开发2. MVC理论3. Struts 常用标签Taglib4. Struts国际化支持5. Struts异常处理6. Struts测试详解7. Struts的多模块配置8. 拦截器9. 自定义拦截器阶段四:Hibernate 5 1. Hibernate应用开发基础2. ORM基础理论3. 关系映射技术4. 性能调优技术5. 性能优化、一级缓存、二级缓存、

查询缓存、事务与并发、悲观锁、乐观锁阶段五:Spring 4.x1. Spring IoC技术2. Spring AOP技术3. Spring 与 Struts / Hibernate结合运用4. Spring 声明事务管理5. Spring + Hibernate Spring支持Web阶段六:UML 2.x1. UML技术2. UML分析技术3. UML设计技术4. UML与软件架构5. RationalRose / MagicDraw阶段七:Maven

Maven项目对象模型(POM),

可以通过一小段描述信息来管理项目的构建,

报告和文档的软件项目管理工具

阶段八:Shiro

Apache Shiro是一个强大的,

易用的Java安全框架。

它被用作于认证,授权,加密,session管理。

依赖于Shiro简单易懂的API,

就可以快速的构建包括手机,大型web和商业应用

阶段九:JFinal

国内最火的敏捷开发框架

阶段十:RESTful编码风格

RESTful一种软件架构风格,

设计风格而不是标准,

只是提供了一组设计原则和约束条件。

它主要用于客户端和服务器交互类的软件。

基于这个风格设计的软件可以更简洁,

更有层次,更易于实现缓存等机制

阶段十一:EasyUI

jQuery EasyUI 提供易于使用的组件,

它使 Web 开发人员能快速地在流行的 

jQuery 核心和 HTML5 上建立程序页面

阶段十二:SLF4J门面日志

SLF4J是一个用于日志系统的简单Facade,

允许最终用户在部署其应用时使用其所希望的日志系统

阶段十三:Nginx代理服务器与集群应用

Nginx的四大特点

阶段十四:Lucene 5 

Lucene是apache软件基金会4 jakarta项目组的

一个子项目,是一个开放源代码的全文检索引擎工具包

阶段十五:Solr 5 

基于Lucene的全文搜索服务器。

同时对其进行了扩展,

提供了比Lucene更为丰富的查询语言,

同时实现了可配置、可扩展并对查询性能进行了优化,

并且提供了一个完善的功能管理界面,

是一款非常优秀的全文搜索引擎

阶段十六:Redis 3.x 

Redis 是一个高性能的key-value数据库。 

redis的出现,

很大程度补偿了memcached这类key/value存储的不足,

在部分场合可以对关系数据库起到很好的补充作用。

它提供了Java,C/C++,C#,PHP,JavaScript,Perl,

Object-C,Python,Ruby,Erlang等客户端,

使用很方便

阶段十七: Dubbo 

DUBBO是一个分布式服务框架,

致力于提供高性能和透明化的RPC远程服务调用方案,

是阿里巴巴SOA服务化治理方案的核心框架,

每天为2,000+个服务提供3,000,000,000+次访问量支持,

并被广泛应用于阿里巴巴集团的各成员站点

阶段十八: Zookeeper 

ZooKeeper是一个分布式的,

开放源码的分布式应用程序协调服务,

是Google的Chubby一个开源的实现,

是Hadoop和Hbase的重要组件。

它是一个为分布式应用提供一致性服务的软件,

提供的功能包括:

配置维护、域名服务、分布式同步、组服务等

阶段十九:实战项目1. 易购商城与在线支付平台2. 中国工商银行河北分行资产管理系统3. 壹心理专业心理学门户4. 中国人寿台州分公司CRM客户关系管理系统

Linux+Hadoop

阶段一:Linux安装与配置1. Linux安装与配置2. 系统管理与目录管理3. 用户和用户组管理4. Shell编程5.服务器配置6. Vi编辑器与Emacs编辑器阶段二:Hadoop1. Hadoop起源与安装2. MapReduce快速入门3. Hadoop分布式文件系统4. Hadoop文件I/O详解5. MapReduce工作原理6. MapReduce编程开发

c#/.NET项目开发有哪些设计模式?: 模式分为三种,设计模式、体系结构模式与惯用法。其中惯用法是一种语言紧密相关的模式,例如,定界加锁模式其实是一种惯用法。
在C#项目开发过程中,很多情况下您已经使用了某些模式,但或许您并不知道自己所使用的这种解决方案是一种已经被总结归纳的模式。
工厂、策略、桥接、模板方法、代理等等23种Gof经典模式是属于设计模式,设计模式的粒度相对较小,基本上用于提高模块内部的可扩展性和可维护性需求
层、MVC、IoC/DI等属于体系结构模式,粒度比设计模式大,它是从项目的整体角度去看项目的架构。设计需要合理性,架构同样追求合理性,这就是架构模式的用途。
C#的经典样例petshop中,采用分层思想构架了整个网站,这里的分层就是体系结构模式;而在数据库访问层,则采用工厂模式来泛化数据库操作,使得业务层不需要关心您现在的数据库是SQL server的,还是oracle的。这就是设计模式的使用。
模式应用不是一两句话能够说清楚的,也不是一天两天能够体会的,需要楼主慢慢体会与学习。

  • 2014年是第几个世界水日

    如何用自己的宽带帐号冲值Q币?: 你可以在互联星空进行消费:http://www.vnet.cn/default.aspx,帐号有后付费和预付费两种类型,前者是指你先消费,然后在你的指定的付费电话上进行扣费,后者是你必须先在加您的帐号里充值才能够消费...

    888条评论 2218人喜欢 2187次阅读 837人点赞
  • i6是什么车

    英雄联盟巴德的大招可以对死亡的死歌使用吗: 死歌死后被动被动状态下是不可选中的,巴德大招对任何不可选中单位都是无效的,其他常见的不可选中状态还有金身、小鱼人E、蜘蛛E(拉到空中那个),吸血鬼W、劫开大和剑圣Q的瞬间 ...

    458条评论 2565人喜欢 1638次阅读 524人点赞
  • 五条直线相交最多有几个交点

    短文两篇蝉贝壳 是课文哪里一句话转变了作者怎样一种态度?可以找出来并说说对它的理解。: 蝉 短短一个夏天的生命都要如此珍惜,我们人有几十年的寿命更应该活得有意义,有价值。不管生命短暂还是长久,都应该积极面对,全情投入,好好生活。 ...

    411条评论 2349人喜欢 4517次阅读 825人点赞
  • 2017年安全生产月是第几个

    英雄联盟长者之森巴德皮肤多少钱: 楼主长者之森是巴德目前唯一的皮肤不错 价格69RMB 但是冰雪节巴德的皮肤品质会更好 建议楼主等冰雪节的巴德皮肤 如果楼主实在很想买一个皮肤的话又想有折扣的话就等一下周末限时折扣吧 毕竟马上就要出新皮肤了 巴德旧的皮...

    770条评论 3576人喜欢 2403次阅读 216人点赞
  • 20墙每平方米需要多少空心砖

    玩LOL进入游戏加载就奔溃,还弹出一个英语框框,大家帮帮忙: 别听他的,这个的意思大概是连接失败吧,我在另外的帖子里见过,只要重启游戏就好,这问题,玩LOL的十有八九都遇到过, ...

    653条评论 3487人喜欢 2466次阅读 817人点赞
  • 15 20%等于多少

    win10系统lol闪退崩溃怎么解决?: win10系统升级后玩lol英雄联盟突然玩不了,症状是:可以进入游戏大厅也可以进入游戏,但是进入游戏后不到几分钟游戏就会崩溃,然后闪退到桌面同时弹出一个游戏崩溃对话框。该怎么解决呢?具体原因是游戏文件夹中的文件和游戏...

    539条评论 5226人喜欢 3685次阅读 279人点赞