一、三层架构:
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. 一般高级的界面工具和构造器不支持模式