基于C/S架构和B/S架构的系列问题探讨
在对此类问题进行研究之间,我们首先应该了解的是,何为B/S架构?何为C/S架构?
一、C/S架构
1、C/S架构的定义:
客户端-服务器(Client/Server)架构,是一种软件体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,需要安装 客户端才可进行管理操作。客户端和服务器端的程序不同,用户的程序主要在客户端,服务器端主要提供数据管理、数据共享、数据及系统维护和 并发控制等,客户端程序主要完成用户的具体的业务。一般称为“胖客户端”。
举个简单列子就比如类似我们手机上的QQ,微信等软件,需要在客户端和服务器各安自程序。
2、C/S架构的优点:
(1)客户端与服务器直接相连,没有中间环节,响应速度较快。
(2)C/S结构的管理信息系统具有较强的事务处理能力。
(3)安全性能容易保证,程序更加注重流程,它可以对权限进行多层次校验,提供了更安全的存取模式,对信息安全的控制能力很强。(一般高度机密的信息系统采用C/S结构适宜。)
3、C/S架构的缺点:
(1)兼容性差,不同系统下需要重新修改程序
(2)分布功能弱,需要专门对每台机器进行相对应的配置,一旦涉及系统升级问题,需要客户端、服务器都需要升级
二、B/S架构
1、B/S架构的定义:
浏览器-服务器(Browser/Server)架构,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端(Server)实现。
使用此架构,仅需要在客户机下载一个浏览器即可,例如www.taobao.com之类。
2、B/S架构的优点:
(1)具有分布性特点,可以随时随地进行查询、浏览等业务处理。
(2)业务扩展简单方便,通过增加页面即可增加服务器功能。
(3)维护简单方便,只需要改变网面,即可实现所有用户的同步更新。
(4)共享性强
3、B/S架构的缺点:
(1)响应速度不及C/S,随着AJAX技术的发展,相比传统B/S结构软件提升一倍速度。
(2)用户体验效果不是很理想,B/S需要单独界面设计,厂商之间的界面也是千差万别,由于浏览器刷新机制,使用时有刷屏现象,好在AJAX技术解决这一难题。
三、浅谈基于C/S架构和B/S架构的两种分层结构模式
1、MVC模式:
包括三个方面:模型(model)、视图(view)、控制器(controller)。模型,关注数据处理;视图,关注数据显示和报表处理;控制器,负责协调模型和视图。MVC的基本思想就是实现显示逻辑、控制逻辑和数据(业务)逻辑的分离,模型用于维护数据并提供数据访问方法,视图用于绘制模型的部分数据或所有数据的可视图,控制器定义了用户界面对用户输入的响应方式。
2、三层模式:
微软推荐的分层架构一般为三层:表示层、业务逻辑层(或领域层)、数据访问层。
(1)数据访问层:主要看数据层里面有没有包含逻辑处理,实际上它的各个函数主要完成各 个对数据文件的操作。而不必管其他操作。
(2)业务逻辑层:主要负责对数据层的操作。也就是说把一些数据层的操作进行组合。
(3)表示层:主要对用户的请求接受,以及数据的返回,为客户端提供应用程序的访问。