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接口的方式来创建线程