- 浏览: 1211190 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (434)
- js (20)
- struts2 (77)
- spring (11)
- hibernate (17)
- ssh整合 (9)
- 程序例子 (4)
- 正则表达式 (8)
- JSP (20)
- IDE (15)
- 数据库 (10)
- 工作经验技巧感悟 (21)
- 程序员的幽默 (4)
- windows设置 (4)
- 名词解释 (4)
- 技术入门 (4)
- jFreeChart (16)
- OGNL (5)
- java基础 (46)
- dwr (4)
- portal (1)
- 示例用到的附件 (0)
- 优秀程序员45个习惯 (1)
- webService (1)
- shell (3)
- ibatis (3)
- 开发工具 (1)
- OS (3)
- xmlbean (2)
- design_pattern (0)
- error (1)
- testng (2)
- python (18)
- hadoop (21)
- mapreduce (9)
- Hive (0)
- HBase (0)
- ubuntu (22)
- 多线程 (7)
- 自我改进 (6)
- 设计模式 (1)
- ssh (2)
- ant (4)
- guake (2)
- 云计算 (9)
- hdfs (3)
- 大数据 (1)
- 电信业务 (1)
- maven (2)
- svn (5)
- UML (1)
- 待处理问题 (2)
- log4j (1)
- css (1)
- LevelDb (0)
- thrift (6)
- 辅助工具 (3)
- 算法 (1)
- tornado (0)
- twisted (1)
- jvm (0)
- 图书 (1)
- 其他 (1)
- oracle (2)
- mvn (1)
- 私人信息 (0)
- nio (1)
- zookeeper (1)
- JavaIO (3)
- mongodb (1)
- java-高级 (6)
- spring-深入 (1)
- tomcat (1)
- quartz (1)
- 面试题 (1)
- redis (3)
- EJBCA (0)
- spring-3.0 (1)
- memcache (3)
- 性能检测 (1)
- android (0)
- 开源项目 (1)
- 将博客搬至CSDN (0)
- 架构之路 (1)
最新评论
-
pjwqq:
“子类对象”都拥有了“父类对象的一个实例的引用”我晕,应该是“ ...
java继承--父类属性的存放位置 -
gwgyk:
关于楼主最后的问题,我想可能是这样:InputFormat默认 ...
eclipse 运行hadoop wordcount -
fanjf:
上述7点基本具备,可惜现在因为项目需要,做管理方面工作!
如何判断自己是否具有成为一名优秀程序员的潜质 -
摸爬滚打NO1:
链接已经失效
Eclipse添加JSEclipse 插件(js插件) -
younglibin:
看了以上7条, 自己 也不知道是否能够对上, 感觉没一点都有那 ...
如何判断自己是否具有成为一名优秀程序员的潜质
无论是使用JSP,还是使用Struts1,或是Struts2,我们至少都需要一些必须的元素(如果没有这些元素,或许我还真不知道这个程序会写成什么样子):
1. 数据
在这个例子中,就是name和password。他们共同构成了程序的核心载体。事实上,我们往往会有一个User类来封装name和password,这样会使得我们的程序更加OO。无论怎么说,数据会穿插在这个程序的各处,成为程序运行的核心。
2. 页面展示
在这个例子中,就是login.jsp。没有这个页面,一切的请求、验证和错误展示也无从谈起。在页面上,我们需要利用HTML,把我们需要展现的数据都呈现出来。同时我们也需要完成一定的页面逻辑,例如,错误展示,分支判断等等。
3. 处理具体业务的场所
在这里,不同阶段,处理具体业务的场所就不太一样。原来用JSP和Servlet,后来用Struts1或者Struts2的Action。
上面的这些必须出现的元素,在不同的年代,被赋予了不同的表现形式,有的受到时代的束缚,其表现形式非常落后,有的已经不再使用。但是拨开这些外在的表现形式,我们就可以发现,这不就是我们已经熟门熟路的MVC嘛?
数据 ———— Model
页面展示 ———— View
处理具体业务的场所 ———— Control
所以,框架不重要,概念是王道。只要能够深刻理解MVC的概念,框架对你来说,只是一个jar包而已。
MVC的概念其实就那么简单,这些概念其实早已深入我们的内心,而我们所缺乏的是将其本质挖掘出来。我们来看看下面这幅图,这是一副流行了很多年的讲述MVC模型的图:
在这幅图中,MVC三个框框各司其职,结构清晰明朗。不过我觉得这幅图忽略了一个问题,就是数据是动的,数据在View和Control层一旦动起来,就会产生许多的问题:
1. 数据从View层传递到Control层,如何使得一个个扁平的字符串,转化成一个个生龙活虎的Java对象
2. 数据从View层传递到Control层,如何方便的进行数据格式和内容的校验?
3. 数据从Control层传递到View层,一个个生龙活虎的Java对象,又如何在页面上以各种各样的形式展现出来
4. 如果你试图将数据请求从View层发送到Control层,你如何才能知道你要调用的究竟是哪个类,哪个方法?一个Http的请求,又如何与Control层的Java代码建立起关系来?
除此之外,Control层似乎也没有想象中的那么简单,因为它作为一个控制器,至少还需要处理以下的问题:
1. 作为调用逻辑处理程序的facade门面,如果逻辑处理程序发生了异常,我们该如何处理?
2. 对于逻辑处理的结果,我们需要做怎么样的处理才能满足丰富的前台展示需要?
这一个又一个问题的提出,都基于对MVC的基本概念的挖掘。所以,这些问题都需要我们在写程序的时候去一一解决。说到这里,这篇文章开头所提的问题应该可以有答案了:框架是为了解决一个又一个在Web开发中所遇到的问题而诞生的。不同的框架,都是为了解决不同的问题,但是对于程序员而言,他们只是jar包而已。框架的优缺点的评论,也完全取决于其对问题解决程度和解决方式的优雅性的评论。所以,千万不要为了学习框架而学习框架,而是要为了解决问题而学习框架,这才是一个程序员的正确学习之道。
发表评论
-
java.sql.Timestamp does not have a no-arg default constructor.
2015-04-01 17:02 3265Caused by: com.sun.xml.bind.v2 ... -
Web API 设计方法论
2015-03-05 13:51 929原文 地址: http://yue ... -
Quartz应用与集群原理分析
2015-02-12 14:32 824这里说的问题,在我现在工作中定时任务也是这么发展的, 只是我 ... -
地理空间距离计算优化-计算两点间的距离
2015-02-12 14:21 2546转摘美团 http://tech. ... -
oracle 官网wget下载文件
2014-10-16 11:48 1025oracle 官方网站下载 oracle 11 , ... -
多线程并发开卡卡号重复问题
2014-10-14 17:41 1403<div class="iteye-blog ... -
淘宝druid工具使用
2014-09-25 19:16 1619最近公司发现代码效率运行很低, 而且经常锁住数据库,意外发 ... -
Local host name unknown: java.net.UnknownHostException: nfs: nfs
2014-09-12 17:16 1224Local host name unknown: java ... -
如何判断自己是否具有成为一名优秀程序员的潜质
2014-02-24 09:56 1603来自CSDN 的一片文章 ... -
工作交接总结
2014-02-09 11:51 14896刚换了工作, 交接了 ... -
工作交接总结
2014-01-24 10:36 18刚换了工作, 交接了 ... -
通过eclipse分析源码一个方法
2014-01-07 19:49 924如上图可以 索引出 类调用关系的 在 eclips ... -
常用名词汇总
2013-10-25 16:17 0广播 OSS BSS ... -
怎么学习计算机语言
2013-08-10 09:23 1167最近学习了 python 和 shell 脚本语言 , ... -
KISS原则
2013-07-19 10:55 1757http://baike.baidu.com/view ... -
工作中低级错误
2013-07-19 10:47 8901.static变量的使用,sattic是全局变量非线程安 ... -
软件设计
2013-07-19 10:45 8971.保证:用户接口保证KISS原则 2.后台服务保证灵活 ... -
程序员技术练级攻略
2013-05-22 16:24 1059月光博客6月12日发表了《写给新手程序员的一封信》,翻译自《 ... -
主机屋虚拟主机使用
2012-10-18 16:08 87昨天接到一个电话,朋友说想给自己公司做个网站,问我会做不,仔细 ... -
JavaEye是个好东西
2011-06-09 09:40 1189还是这里 好 记录笔记 是个好地方!看来以后要重新使用这个网 ...
相关推荐
这些小框架的使用,不仅可以提高代码的可读性和可维护性,还能为用户带来更好的交互体验。在实际开发中,开发者可以根据项目需求和团队技术栈选择合适的框架进行集成。同时,保持对新框架和技术的关注,有助于提升...
安装前,用户应确保了解软件来源的可信性,以及可能带来的风险,例如隐私泄露或恶意软件。 【知识点拓展】 1. **Android框架**:Android框架是整个系统的基石,包含了系统服务、库和运行时环境,允许应用程序运行并...
Xposed框架是安卓系统中的一款强大工具,它允许用户通过安装模块来修改系统的行为和应用程序的功能,无需重新编译Android ROM或拥有root权限。这款框架以其灵活性和深度定制能力而闻名,深受高级用户和开发者喜爱。 ...
...这个新的框架旨在为应届毕业生和初学者提供更易理解和上手的...通过使用这个框架,新手可以更快地掌握PHP开发,同时享受到Zend框架带来的强大功能。如果你是初学者,不妨尝试这个框架,利用它来提升你的PHP编程技能。
PB9界面框架是一种基于PowerBuilder 9(简称PB9)开发的用户界面解决方案。PowerBuilder是Sybase公司推出的一种强大的...通过深入研究和实践,开发者可以将PB9界面框架的优势发挥到极致,为软件开发带来更高的价值。
这些信息对于开发者来说至关重要,它们帮助理解如何集成框架到项目中,如何调用其提供的功能,以及了解新版本带来的改进和修复。 总结来说,F框架v2.9是一个用C#编写的.NET框架,提供了一系列工具和类库,简化了...
总之,HTML后台框架为Web开发带来了诸多便利,通过选择合适的框架,开发者能够更加高效地构建功能丰富的动态网站。无论是Angular、React、Vue.js还是其他框架,都有其独特的优势和适用场景。在实际开发中,要根据...
很好的一个关于C# socket通信的一个框架,这个是我朋友写的,我想肯定能够给你带来惊喜!
《易语言网络游戏框架》是一款基于易语言开发的网络游戏开发框架,它为开发者提供了一种高效、便捷的方式来创建和管理网络游戏。易语言以其简洁的语法和丰富的库支持,降低了编程的门槛,使得初学者也能尝试网络游戏...
而购买现有的框架虽然需要一定的学习成本,但对于大型项目而言往往能带来更高的投资回报率。例如,Struts框架就因其高度成熟和丰富的功能集而受到广泛认可,在许多情况下,相比于从零开始构建,使用Struts等框架可以...
【wbcs声明式框架】是一种创新的开发框架,它的出现为开发者带来了全新的编程体验。声明式编程是一种非过程性的编程范式,强调描述“什么”而不是“如何”做,这使得代码更简洁、易读,同时也降低了维护成本。Wbcs...
COBIT(Control Objectives for Information and Related Technologies)是一个针对企业IT治理和管理的框架,它为企业管理层提供了一套全面的IT管理方法,帮助企业确保信息技术投资能够带来预期的业务价值。...
若依框架修改器可以一键批量更改框架中的包名,避免手动修改带来的繁琐和错误。 2. **类名自定义**:根据项目需求,可能需要更改默认的类名或接口名,以符合项目的命名规范。该修改器能帮助开发者快速实现这一目标...
Web框架是用于构建Web...总之,Web框架为Web应用开发带来了便利,通过理解其基本原理和特点,开发者可以更高效地构建高质量的Web服务。不断学习和掌握新的框架,有助于适应技术的快速发展,提升开发效率和产品质量。
《HUI移动端前端框架详解与应用》 在数字化时代的洪流中,移动端应用开发日益重要,而优秀的前端框架则是构建高效、...随着前端技术的不断发展,HUI也将持续进化,为开发者带来更多便利,推动移动应用的创新和发展。
SSM框架的jar包集合是项目正常运行的基础,正确引入这些jar包并配置相应的配置文件,才能确保SSM框架能有效地协同工作,为开发带来便利。同时,随着技术的发展,现在更多地倾向于使用Spring Boot,它集成了SSM框架,...
这句话让我想起了另一个人,slackware作者——简单、稳定、高效。 Yaf现在在国外已经被很多人关注, Zend Framework的作者在twitter上也推荐了Yaf。 google、百度、facebook都在用YAF。 Yaf的优点: 1. 用C语言...
8. **依赖注入**:作为现代框架,Alpha可能支持依赖注入,这是一种设计模式,允许在运行时将依赖项传递给类,增强了代码的灵活性和可测试性。 9. **安全特性**:框架的安全性是至关重要的,Alpha可能包含了防止XSS...
【标题】:“我公司现在使用框架(框架原代码)”所揭示的是公司正在采用的某种特定的软件开发框架,这通常是为了提升开发效率、代码质量和项目管理能力。框架原代码意味着公司拥有对框架的完全控制,可以进行定制化...