MVC,全称Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写。
模型(model):表示应用程序核心(比如数据库记录列表),是应用程序中用于处理应用程序数据逻辑的部分。javabean,EJB实现
视图(view):显示数据,是应用程序中处理数据显示的部分。jsp,HTML,Web services实现
控制器(controller):是应用程序中处理用户交互的部分。 servlet实现
MVC并没有简化代码,没有提高代码效率,只是便于不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。
优点:
耦合性低:模型与控制器和视图相分离,可以根据需要只改动其中一个不会影响其它两个。
重用性高:MVC模式允许使用各种不同样式的视图来访问同一个服务器端的代码,即多个视图能共享一个模型。可以最大化的重用代码。
生命周期成本低:开发/维护简单,技术含量低。
缺点:
增加系统结构和实现的复杂性:对于简单的界面,MVC会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。
视图对模型数据的低效率访问:视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,将损害操作性能。
重载重写对比(多态)
| 位置 | 方法名 | 参数列表 | 返回值 | 访问控制符 |
重载 | 同一类中 | 一样 | 不一样 | 无关 | 无关 |
重写 | 父类和子类 | 一样 | 一样 | 一样 | 子类不能比父类严格 |
访问控制符
访问控制符范围 | ||||
访问控制 | private | (缺省)default | protected | public |
同一类中 | √ | √ | √ | √ |
同一个包中其他类 | * | √ | √ | √ |
不同包中子类 | * | * | √ | √ |
不同包中非子类 | * | * | * | √ |
基本数据类型 | 包装类 |
byte | Byte |
short | Short |
int | Integer |
long | Long |
char | Character |
float | Float |
double | Double |
boolean | Boolean |
★创建线程的方法对比:
| 优点 | 缺点 |
继承Thread类 | 简单 | 无法再继承其他类 无法实现资源共享 |
实现Runnable接口 | 可以继承其他类 可以实现资源共享 | 复杂 |
在开发中大多数情况下选择使用实现Runnable接口的方式来创建线程