在谈到Web开发时,经常会提到Web开发框架。我们为何要学习这些框架?
这些框架到底从何而来?只有知道为什么,才能知道如何做得跟好。
在谈框架时,我们不得不谈一个比框架更重要的概念,就是面向对象。
- 一个对象的基本元素:
签名(Signature)--对象的核心语义概括
属性(Property)--对象的内部特征和状态的描述
方法(Method)--对象的行为特征的描述
在实际编程过程中,对象将表现为三种不同的形态和运作模式
1、属性-行为模式
一个对象同时拥有属性定义和方法定义。
2、属性模式
一个对象只拥有属性定义,辅之以相应的Setter和Getter方法。
又称为JavaBean模式,作为数据存储和数据传输的载体,在众多的编程
层次都会被用到,根据作用不同被冠以各种不同的名称,如
PO(Persistent Object)--持久化对象
BO(Business Object)--业务对象
VO(Value Object)--值对象
DTO(Data Transfer Object)--数据传输对象
FormBean--页面对象
无论这些对象被冠以什么名称,他们只不过是对基本的、运行在JavaBean
模式下对象的有效扩展和增强。
3、行为模式
构成一个对象的主体是一系列方法的定义。最为常见的是我们
熟悉的Servlet对象。又称为无状态对象,它是指对象的方法所表达的行为
特性并不依赖于对象的内部属性状态。而这种无状态的特性,非常适合进行
一个请求的响应,并在方法体内部实现中进行复杂的业务逻辑处理。
行为对象方法的定义:
1、方法签名(Signature)--行为动作的逻辑语义概况
2、参数(Parameter)--行为动作的逻辑请求输入
3、返回值(Return)--行为动作的处理响应结果输出
方法的定义实际上是一种触发器的逻辑定义。当需要完成某种行为动作时,
将请求作为参数输入到方法的参数类表中,而返回值则自然而然地完成业务
逻辑的出来结果。
- 对象关系模型
分析的角度将由“内”转向“外”,考虑对象与对象之间的关系。
1、从属关系(归属、继承)--围绕着对象属性构成 手和脚
2、协作关系--围绕对象的行为动作特征 摆和抬
一个对象在绝大多数情况下都不是孤立存在的,它总是需要通过
与其他对象的协作来完成其自身的业务逻辑。也就是说,将一个
动作从业务上进行逻辑划分,将不同的业务分派到不同的对象之上
去执行。这就是我熟知的分层开发模式的理论依据。
- 面向对象编程的基本观点
1、每一种对象的构成模型,都有其特定的应用范围。
2、将对象运行在“属性-行为”模式上,最符合面向对象编程思想的本意。
--原因其一:能够最大程度地应用各种设计模式
--原因其二:能够最大程度地发挥对象之间的协作能力
3、建立对象之间的关系模型是面向对象编程的核心内容。
框架的本质(可扩张性)
我们编写的所有程序,都是依赖于一个最最基本的前提条件:JDK所提供的API支持。
当我们加载一个JAR包到CLASSPATH时,实际上就是获得了JAR中所有对JDK的额外支持。
框架只是一个JAR包而已,其本质是对JDK的功能扩展。
当我们说一个程序使用了Spring框架,就是说把Spring的分发包加入到CLASSPATH,并且使用了其功能。
解决在某个领域的开发中所碰到的困境。
框架是一组程序的集合,包含了一系列的最佳实践,作用是解决某个领域的问题。所以
对广大的程序员来说,千万不要为了学习框架而学习框架,而是要为了解决问题而学习框架。
最佳实践(best practice)
最佳实践,实际上是无数程序员在经历了无数次的尝试后,总结出来的处理特定问题的特定方法。
如果说我们把每个程序员的自由发挥看作是一条通往成功的路径,最佳实践就是其中的最短路径,
它能够极大地解放生产力。