1.面对这些框架,大家是否真的思考过,我们为什么要学习这些框架?这些框架到底从何而来?框架的本质到底是什么?
使用框架,又能够为我们的开发带来什么样的好处呢?在深入分析Struts2及其源码之前,我们首先必须弄清楚这些比框架
更为核心的问题。因为只有了解了为什么,我们才能知道怎么做,知道如何才能做得更好。
2.当我们加载一个JAR包到Classpath时,实际上是获得了JAR包中所有对JDK的额外支持。
3.框架只是一个JAR包而已,其本质是对JDK的功能扩展。
4.框架是一组程序的集合,包含了一系列的最佳实践,作用是解决某个领域的问题。
5.只有解决问题才是所有框架的共同目标。框架的产生就是为了解决一个又一个在开发中遇到的困境。
不同的框架,只是为了解决不同领域的问题。所以,对于广大程序员来说,千万不要为了学习框架而学习框架,而是要为了解决问题
而学习框架,这才是一个程序员的正确之道。
6.出于对可维护性和可读性的要求,我们希望的程序最好能从宏观层面上看上去是一致的,使得每一个程序员能够读懂并合理运用,这才是
我们的目标。这一目标,我们习惯上称之为最佳实践。
最佳实践,实际上是无数程序员在经过了无数次的尝试后,总结出来的处理特定问题的特定方法。如果我们把每个程序员的自由发挥看作是一条通往成功的路径,最佳实践就是其中的最短路径,它能够极大地解放生产力。
7.永远不要生搬硬道任何最佳实践,真理之锁永远为最合适的那把钥匙开启。这是一条凌驾于任何最佳实践之上的最佳实践。
8.始终保证程序的可读性、可维护性和可扩展性。
9.简单是美。减少依赖(消除耦合)。尽可能使用面向对象的观点进行编程。
任何Java程序总是依赖于其运行环境(JVM层)和支持应用程序的JAR层。加入到CLASSPATH中的JAR越多,就意味着程序对外部环境
的依赖度越高,对外部环境的依赖度越高,就意味着程序本身越难以脱离特定的外部环境进行单元测试。因此,减少甚至消除依赖,就成为许多框架追求的目标。
10.分层开发模型,对于大企业应用或者产品级的应用程序开发是有着重要意义的;然而当一个应用程序足够小,并且需求的变更处于可控
的范围之内时,我们对于分层开发模式就应该谨慎。
11.笔者花了这么多笔墨,才把Struts2这位主人公引出来的目的,是希望读者能够站在全局的高度来审视Struts2,也只有这样,才能够
真正学号每一个开源框架。
12.Struts2是一个运行于Web容器的表示层框架,其核心作用是帮助我们处理HTTP请求。
13.Struts2的运行环境是Web容器。
14.Struts2通过扩展实现Servlet标准来处理Http请求。
15.任何程序,如果我们从组织结构上进行分析,总是由两大类元素组成:一类用于描述问题,这类元素我们通常称之为数据结构(构成元素);另一类元素则是在数据结构基础上执行的逻辑代码,这类元素我们通常称之为算法(运行机理)。数据结构和算法的有机结合,构成了可运行的程序主体。这其实也是我们经常听到的一条结论:
程序 = 数据结构 + 算法(构成元素 + 运行机理 )
分享到:
相关推荐
《Struts2技术内幕-深入解析Struts2架构设计与实现原理》这本书深入探讨了Struts2的核心概念、架构和实现机制。 1. **Struts2架构设计**:Struts2的架构基于拦截器(Interceptor)模式,它将业务逻辑和表现层解耦,...
赠送jar包:struts2-json-plugin-2.3.24.jar; 赠送原API文档:struts2-json-plugin-2.3.24-javadoc.jar; 赠送源代码:struts2-json-plugin-2.3.24-sources.jar; 赠送Maven依赖信息文件:struts2-json-plugin-...
struts2-core-2.0.1.jar, struts2-core-2.0.11.1.jar, struts2-core-2.0.11.2.jar, struts2-core-2.0.11.jar, struts2-core-2.0.12.jar, struts2-core-2.0.14.jar, struts2-core-2.0.5.jar, struts2-core-2.0.6.jar,...
struts2-spring-plugin-2.3.15.2.jar ; struts2-json-plugin-2.3.16.3.jarstruts2-spring-plugin-2.3.15.2.jar ; struts2-json-plugin-2.3.16.3.jar
struts2-ssl-plugin-1.2.1.jar
struts2-json-plugin,Struts JSON插件
-- 为修复struts2 s2-016、s2-017漏洞,重写DefaultActionMapper --> <bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="myDefaultActionMapper" class=...
struts2-core-2.2.3.1-sources.jar struts2-core-2.2.3.1-sources.jar struts2-core-2.2.3.1-sources.jar
Struts2-Spring-Plugin-2.2.1.jar 是一个专门为 Struts2 框架与 Spring 框架集成而设计的插件。这个插件的主要目的是简化在基于Struts2的应用程序中整合Spring的功能,如依赖注入(DI)、AOP(面向切面编程)以及...
struts2-convention-plugin-2.3.24.1
Struts2-Spring-Plugin-2.3.4.jar 是一个专门为 Struts 2 框架和 Spring 框架整合而设计的插件,主要用于处理 Struts 2 和 Spring 之间的集成问题。在Java Web开发中,这两个框架经常一起使用,Spring 提供了依赖...
struts2-struts1-plugin-2.1.6.jar
struts2-json-plugin-2.3.15.1 -Lee修复bug版.jarstruts2-json-plugin-2.3.15.1 -Lee修复bug版.jarstruts2-json-plugin-2.3.15.1 -Lee修复bug版.jarstruts2-json-plugin-2.3.15.1 -Lee修复bug版.jar
struts2-plexus-plugin-2.1.6.jar
struts2-core-2.5.18.jar包下载,支持struts2的类库下载
struts2-spring-plugin-2.3.15.3.jar struts整合Spring的插件Jar包。
struts2-core-2.5.10.jar ,struts核心包,struts2-core-2.5.10.jar
struts2-jquery-plugin-3.1.0.jar