框架:
框架只是一个JAR包而已,其本质是对JDK的功能扩展。
我们很容易遗忘把一个JAR文件加入到CLASSPATH中的初衷:解决在某个领域的开发中所碰到的困境。
框架是一组程序的集合,包含了一系列的最佳实践,作用是解决某个领域的问题。
千万不要为了学习框架而学习框架,而是要为了解决问题而学习框架,这才是一个程序员的正确学习之道。
最佳实践:
永远不要生搬硬套任何最佳实践,真理之锁永远只为最合适的那把钥匙开启。
程序时时有,概念心中留。
只要MVC的理念在你心中,无论程序怎么变,都能做到万变不离其中。
概念永远大于方法,核心驱动力永远大于外在表现。
struts2
Struts2是一个运行于Web容器的表示层框架,其核心作用是帮助我们处理Http请求。
不要把任何一个框架看得很神秘,它们的本质也只不过是实现了基本的开发协议或者开发规范集合而已。
将web容器与MVC实现分离,是struts2区别于其他web框架的最重要的特性,也是最值得我们品味的一个宏观设计思路。
程序 = 数据结构 + 算法 (构成元素 + 运行机理)
容器:
容器,不仅支撑起一个框架中的所有对象,同时也成为框架运行过程中最为重要的一个辅助元素,
也是整个框架得以运行的核心基础。
容器,对象生命周期管理的基石。
掌握一种知识的最终目的是熟练而合理地运用它。
①互斥是常用的同步进程的方法。
②面向对象设计中构件通常有较低的耦合度,因为每个对象构件的定义都包含了对象动作的定义以及
作用于它的动作。因此,低耦合度是面向对象方法的自然而然的优点。
③工具包(toolKit)是一组相关的具有明确定义功能的类的集合。
④框架和模式也是设计助手。和工具包不同的是,它们更注重于设计复用而不是代码复用。
⑤模式(pattern)是抽象体系结构元素的模板,可用来指导生成设计。
⑥框架(framework)是对特定领域的一部分进行的复用,与设计模式相比,它更具体化、并且可以再其说明
中加入模式。模式类似于脚手架(scaffolding),而框架更像一个DIY项目,你必须提供缺少的主要部分。