1. 面向过程 (PROCEDURE ORIENTED)
1). 具体化, 流程化
2). 性能高
3). 算法 + 数据结构
2. 面向对象 (OBJECT ORIENTED)(OO)
1). 模型化
2). 易维护, 易复用, 易扩展
3. 面向对象编程 (OOP)
1). 继承 允许在现存的组件基础上创建子类组件,这统一并增强了多态性和封装性
A). 重载 (以统一的方法处理不同数据类型) 一个类的多态性表现
B). 重写 (方法重写) 父子类多态性体现
2). 封装 (信息封装) 确保组件不会以不可预期的方式改变其它组件的内部状态
3). 多态 组件的引用和类集会涉及到其它不同类型的组件,而且引用组件所产生的结果得依据实际调用的类型
4. 面向切面编程 (ASPECT ORIENTED PAROGRAMMING)(AOP)
1). 切面 项目模块中某些业务逻辑 (业务需要一定共性)
2). 解耦, 提高程序可重用性, 提高开发效率
5. 三层架构、MVC、MVP、MVVM
1). 三层架构 – 界面层 (User Interface Layer-Business Logic Layer-Data access Layer 界面–业务逻辑–数据访问)
A). 界面层 (UIL) 与用户交互
B). 业务逻辑层 (BLL) 实现业务逻辑。业务逻辑具体包含:验证、计算、业务规则等
C). 数据访问层 (DAL) 与数据库打交道。主要实现对数据的增、删、改、查
2).MVC(Model-View-Controller 模型–视图–控制器)
A).Model(模型) 业务逻辑、业务模型、业务操作、数据模型。定义了数据修改和操作的业务规则
B).View (视图) UI 组件。接收 Controller 数据,降 Model 转化成 UI
C).Controller(控制器) 处理流入请求
D). 特点 View 和 Model 分离 (1978 Trygve Reenskaug)
E). 流程 View⇒Controller⇒Model⇔View
3).MVP(Model-View-Presenter MVC 改良模式 (View 与 Model 完全解耦))
A).Model(模型) 业务逻辑、业务模型、业务操作、数据模型。定义了数据修改和操作的业务规则
B).View (视图) UI 组件。接收 Controller 数据,降 Model 转化成 UI
C).Presenter(控制器) 处理 View 背后所有 UI 事件 (一个 Presenter 只映射一个 view)
D). 特点 View 和 Presenter 双向交互 (IBM 的子公司 Taligent 提出)
E). 流程 View⇔Presenter⇔Model
4).MVVM(Model-View-View Model MVP 中把 P 层削弱为 VM 层,部分简单的逻辑职责分给了 View 层)
A).Model(模型) 业务逻辑、业务模型、业务操作、数据模型。定义了数据修改和操作的业务规则
B).View (视图) UI 组件。接收 Controller 数据,降 Model 转化成 UI
C).View Model(控制器) 负责暴漏方法,命令,其他属性来操作 View 的状态,触发 View 自己的事件
D). 特点 View 和 View Model 双向数据绑定关系
E). 流程 View⇒View Model⇔Model