background image

 

中是模块和结构化的基础。

   

 

抽象性 - 程序有能力忽略正在处理中信息的某些方面,即对信息主要方面关注的能力。

   

封装 - 也叫做信息封装:确保组件不会以不可预期的方式改变其它组件的内部状态;只
有在那些提供了内部状态改变方法的组件中,才可以访问其内部状态。每类组件都提供了

 

一个与其它组件联系的接口,并规定了其它组件进行调用的方法。

   

多态性 - 组件的引用和类集会涉及到其它许多不同类型的组件,而且引用组件所产生的

 

结果得依据实际调用的类型。

   

继承性 - 允许在现存的组件基础上创建子类组件,这统一并增强了多态性和封装性。典
型地来说就是用类来对组件进行分组,而且还可以定义新类为现存的类的扩展,这样就

 

可以将类组织成树形或网状结构,这体现了动作的通用性。

由于抽象性、封装性、重用性以及便于使用等方面的原因,以组件为基础的编程在脚本语
言中已经变得特别流行。
ORM
对象-关系映射(Object/Relation Mapping,简称 ORM),是随着面向对象的软件开发方
法发展而产生的。面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关
系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业务
实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存
中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联
和继承关系。因此,对象-关系映射(ORM)系统一般以中间件的形式存在,主要实现程序
对象到关系数据库数据的映射。

面向对象是从软件工程基本原则(如耦合、聚合、封装)的基础上发展起来的,而关系数据
库则是从数学理论发展而来的,两套理论存在显著的区别。为了解决这个不匹配的现象,
对象关系映射技术应运而生。
CURD
CURD 是一个数据库技术中的缩写词,一般的项目开发的各种参数的基本功能都是
CURD。它代表创建(Create)、更新(Update)、读取(Read)和删除(Delete)操作 。
CURD 定义了用于处理数据的基本原子操作。之所以将 CURD 提升到一个技术难题的高度
是因为完成一个涉及在多个数据库系统中进行 CURD 操作的汇总相关的活动,其性能可
能会随数据关系的变化而有非常大的差异。

CURD 在具体的应用中并非一定使用 create、update 、read 和 delete 字样的方法,但是他们
完成的功能是一致的。例如,ThinkPHP 就是使用 add、save、select 和 delete 方法表示模型的
CURD 操作。

ActiveRecord

ActiveRecord 也属于 ORM 层,由 Rails 最早提出,遵循标准的 ORM 模型:表映射到记录,
记录映射到对象,字段映射到对象属性。配合遵循的命名和配置惯例,能够很大程度的快