JAVA三次层架构和MVC
来源:互联网 发布:网络机柜全套 编辑:程序博客网 时间:2024/05/17 08:48
一、三层架构:
1. 数据访问层: 主要是对原始数据(数据库或文本文件等存放数据的形式)的操作,
而不是数据本身,是“操作数据库”,而不是“数据库”,为业务逻辑层和表示层提供数据服务。
2.业务逻辑层: 主要是针对具体的问题,对数据业务逻辑处理,主要负责对数据层的操作,把一些数据层的操作组合。
3.表示层:主要对用户数据的接受,以及数据的返回,为客户端提供应用程序的访问。
二、三层架构的优缺点:
优点:
1. 开发人员可以只关注结构中的某一层
2. 可以很容易的用新的实现来替代原有结构中的一层
3. 可以降低层和层之间的依赖
4. 可以更容易实现标准化
5. 有利于各层的复用
6. 结构更加清晰
7. 大大降低后期维护成本和维护时间
缺点:
1. 降低了系统的性能,如果不采用三层架构,很多业务可以直接访问数据库,以此来 获取数据,而现在必须通过中间层来获取数据。
2. 有时候会产生级联修改,尤其体现在自上而下的修改,比如在表示层需要增加一个 功能,那么为了保证其设计符合分层式结构,
那么在业务逻辑层和数据访问层都要增加相应的代码。
3. 增加了开发成本 二、三层架构和MVC的比较:
三、MVC
MVC是一种架构模式,不是设计模式。同样是架构级别,相同的地方是他们都有一个表现层,不同在于其他两层。
在三层架构中没有定义Controller的概念,这是主要的不同的地方,而MVC也没有把业务的逻辑访问堪称两个层,
这是采用三层架构和MVC搭建程序的主要区别,当然了,在三层中也提到了Modle,但是和MVC中的Modle还是有区别的,
“三层”中典型的modle层是实体类组成的,而MVC中的Modle则是有业务逻辑和访问数据构成的。
四、MVC
1. Modle(模型) 是应用程序用来处理数据业务逻辑的部分,通常模型对象负责在数据库中存取数据
2. view(视图) 是应用程序中处理数据显示的部分,视图通常是依据模型数据创建的。
3. controller(控制器) 是应用程序中处理用户交互的部分,通常控制器负责从视图接收数据,控制用户输入,并向模型发送数据。
五、MVC优缺点:
优点: 1. 耦合性低 2. 重用性高 3. 生命周期成本低 4. 部署快 5. 可维护性好 6. 有利于软件工程化管理
缺点: 1. 没有明确的定义 2. 不适合中小规模的应用程序 3. 增加系统的结构性和实现的复杂性 4. 视图与控制器之间过于紧密的联系
5. 视图对模型数据的低效率访问 6. 一般高级的界面工具和构造器不支持模式
1. 数据访问层: 主要是对原始数据(数据库或文本文件等存放数据的形式)的操作,
而不是数据本身,是“操作数据库”,而不是“数据库”,为业务逻辑层和表示层提供数据服务。
2.业务逻辑层: 主要是针对具体的问题,对数据业务逻辑处理,主要负责对数据层的操作,把一些数据层的操作组合。
3.表示层:主要对用户数据的接受,以及数据的返回,为客户端提供应用程序的访问。
二、三层架构的优缺点:
优点:
1. 开发人员可以只关注结构中的某一层
2. 可以很容易的用新的实现来替代原有结构中的一层
3. 可以降低层和层之间的依赖
4. 可以更容易实现标准化
5. 有利于各层的复用
6. 结构更加清晰
7. 大大降低后期维护成本和维护时间
缺点:
1. 降低了系统的性能,如果不采用三层架构,很多业务可以直接访问数据库,以此来 获取数据,而现在必须通过中间层来获取数据。
2. 有时候会产生级联修改,尤其体现在自上而下的修改,比如在表示层需要增加一个 功能,那么为了保证其设计符合分层式结构,
那么在业务逻辑层和数据访问层都要增加相应的代码。
3. 增加了开发成本 二、三层架构和MVC的比较:
三、MVC
MVC是一种架构模式,不是设计模式。同样是架构级别,相同的地方是他们都有一个表现层,不同在于其他两层。
在三层架构中没有定义Controller的概念,这是主要的不同的地方,而MVC也没有把业务的逻辑访问堪称两个层,
这是采用三层架构和MVC搭建程序的主要区别,当然了,在三层中也提到了Modle,但是和MVC中的Modle还是有区别的,
“三层”中典型的modle层是实体类组成的,而MVC中的Modle则是有业务逻辑和访问数据构成的。
四、MVC
1. Modle(模型) 是应用程序用来处理数据业务逻辑的部分,通常模型对象负责在数据库中存取数据
2. view(视图) 是应用程序中处理数据显示的部分,视图通常是依据模型数据创建的。
3. controller(控制器) 是应用程序中处理用户交互的部分,通常控制器负责从视图接收数据,控制用户输入,并向模型发送数据。
五、MVC优缺点:
优点: 1. 耦合性低 2. 重用性高 3. 生命周期成本低 4. 部署快 5. 可维护性好 6. 有利于软件工程化管理
缺点: 1. 没有明确的定义 2. 不适合中小规模的应用程序 3. 增加系统的结构性和实现的复杂性 4. 视图与控制器之间过于紧密的联系
5. 视图对模型数据的低效率访问 6. 一般高级的界面工具和构造器不支持模式
0 0
- JAVA三次层架构和MVC
- MVC模式和java的三层架构
- Java中的MVC模式和三层架构
- 架构设计的一点想法——MVC架构和及其胶合层的思考
- 【Java架构学习】MVC和三层架构的区别
- MVC架构各层责任图
- java MVC架构
- Java ---理解MVC架构
- 初学java,对3+1层架构的一些简单理解:MVC+S
- 三层架构和MVC
- 三层架构和MVC
- MVC和三层架构
- MVC和三层架构
- MVC和三层架构
- 三层架构和MVC
- MVC和三层架构
- mvc和三层架构
- MVC和三层架构
- lintcode ----搜索插入位置
- 后缀数组(SA)
- iOS打印功能
- gradle版本 gradle各种版本下载提供
- 小图标的位置实现
- JAVA三次层架构和MVC
- Android 中的线程形态 -- AsyncTask,HandlerThread,IntentService
- Android 错误提示:Conversion to Dalvik format failed with error 1 解决办法
- JNI 与c++通信出现乱码解决
- Unity3d物体模型(实现旋转缩放平移自动旋转)
- ubuntu12.04 64位安装opencv-2.4.9
- IOS UIwebView加载本地文件(支持显示图片)
- Unity Shader学习3——几何阶段
- 前台用ajax获取后台数据