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