c/s,是客户端/服务器,例如网游(wow),需要装客户端的那些都是C/S架构的
B/S,浏览器/服务器,不需要装客户端,只需要浏览器,例如淘宝等商务网站
C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势.早期的软件系统多以此作为首选设计标准.
B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构.在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构.B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术.随着Windows 98/Windows 2000将浏览器技术植入 *** 作系统内部,这种结构更成为当今应用软件的首选体系结构.
C/S 与 B/S 区别:
Client/Server是建立在局域网的基础上的.Browser/Server是建立在广域网的基础上的.
1.硬件环境不同:
C/S 一般建立在专用的网络上,小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务.
B/S 建立在广域网之上的,不必是专门的网络硬件环境,例与电话上网,租用设备.信息自己管理.有比C/S更强的适应范围,一般只要有 *** 作系统和浏览器就行
2.对安全要求不同
C/S 一般面向相对固定的用户群,对信息安全的控制能力很强.一般高度机密的信息系统采用C/S 结构适宜.可以通过B/S发布部分可公开信息.
B/S 建立在广域网之上,对安全的控制能力相对弱,面向是不可知的用户群.
3.对程序架构不同
C/S 程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑.
B/S 对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上.比C/S有更高的要求 B/S结构的程序架构是发展的趋势,从MS的.Net系列的BizTalk 2000 Exchange 2000等,全面支持网络的构件搭建的系统.SUN 和IBM推的JavaBean 构件技术等,使 B/S更加成熟.
4.软件重用不同
C/S 程序可以不可避免的整体性考虑,构件的重用性不如在B/S要求下的构件的重用性好.
B/S 对的多重结构,要求构件相对独立的功能.能够相对较好的重用.就入买来的餐桌可以再利用,而不是做在墙上的石头桌子
5.系统维护不同
系统维护是软件生存周期中,开销大,-------重要
C/S 程序由于整体性,必须整体考察,处理出现的问题以及系统升级.升级难.可能是再做一个全新的系统
B/S 构件组成,方面构件个别的更换,实现系统的无缝升级.系统维护开销减到最小.用户从网上自己下载安装就可以实现升级.
6.处理问题不同
C/S 程序可以处理用户面固定,并且在相同区域,安全要求高需求,与 *** 作系统相关.应该都是相同的系统
B/S 建立在广域网上,面向不同的用户群,分散地域,这是C/S无法作到的.与 *** 作系统平台关系最小.
7.用户接口不同
C/S 多是建立的Window平台上,表现方法有限,对程序员普遍要求较高
B/S 建立在浏览器上,有更加丰富和生动的表现方式与用户交流.并且大部分难度减低,减低开发成本.
8.信息流不同
C/S 程序一般是典型的中央集权的机械式处理,交互性相对低
B/S 信息流向可变化,B-B B-C B-G等信息、流向的变化,更象交易中心
望采纳,O(∩_∩)O谢谢啦。
三层架构一方面是为了解决应用程序中代码之间调用复杂,代码职责不清的问题通过各层之间定义接口的形式,并将接口与实现分离,可以很容易的用不同的实现来替换原有的实现,从而有效的降低层与层之间的依赖关系。这种方式不仅有利于整个团队理解整个应用架构,降低后期维护成本,同时也有利于制定整个应用程序架构的标准。
另一方面三层架构的出现从某种程度上解决了企业内部如果有效的根据技能调配技术人员,提高生产效率的问题,在大环境下,有效的分层能使不同职责的人各司其职,聚焦于个人专业技能的发展与培养上。
三层架构的出现不仅标准化了复杂系统的逻辑划分,更帮助企业解决如果有效的形成技术人员组织机构的问题,因此在很长的一段时间内,它一直是软件架构设计的经典模式之一。
优势
层次清晰,每个层次都提供了接口定义
很容易用新的实现替换原来的层次实现。例如对sql进行性能优化,并不会影响其他层的代码结构。有利于后期维护。
有利于实现切面编程,减轻业务的复杂程度,加快编码效率。
每个层次的定位明晰,业务处理的内容明确。依据层次,可以划分不同的分工。开发人员可以只关注整个结构的其中某一层。
接口定义也提供了良好的可扩展性。例如数据库从mysql切换到oracle,只需要通过配置来切换。
降低了代码之间,层与层的依赖关系
复用性:利于各层代码逻辑的复用
安全性:接口设计需要符合对扩展开发,对修改关闭的原则,增强了系统的安全性
各层次职责
表示层:是应用的用户接口部分,担负着用户与应用的对话,交互功能。
业务逻辑层:主要是业务逻辑的处理, *** 作,是系统功能核心。
数据访问层:也称为是数据持久层,回龙观电脑培训发现其功能主要是负责数据库的访问。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)