一文明白所谓的CS与BS设计模式
CS设计模式
概念:CS设计模式,C代表的是Client,S代表的是Server。正如图中的所示,是客户机与服务器之间的交互。这种交互在早期的软件系统中,大多数都是采用这种模式,通过将任务合理分配到Client端和Server端,降低将全部的逻辑处理同时放到其中一个所带来的负担,可以充分利用两端硬件环境的优势。
BS设计模式
概念:B是指Browser,就是浏览器,S依然是Server(服务器),前面我们说到CS模式可以分担我们的客户端和服务器两者的分担,那么为什么我们大部分都是使用BS模式的设计模式呢。这就关系到方便性以及技术的更新了,我们都晓得现在我们用浏览器的话,只要你的浏览器能正常上网,输入一个网址就能到达你所需要到的地方,而不用跟CS模式一样,你需要一个客户端,我们就得下载一个客户端,加之技术的更新,软件的优化,现在带给服务器的运算压力已经是一个可观的状态了。
上面我们了解完基础的概念之后,我们就来对比一下两者之间有什么差别吧,知晓我们在CS与BS之间怎么去选择哪种设计模式来开发我们的应用
|
CS模式 |
BS模式 |
硬件环境 |
C/S一般建立在专用的网络,小范围的网络环境,局域网之间再通过专门的服务器提供连接和数据交换 |
B/S建立在广域网上,不必是专门的网络硬件环境,例如电话上网,租用设备,包括你现在在看我的博客,一般只需要有操作系统和浏览器就可以了 |
安全要求 |
C/S面对的是相对固定的用户群体,对于信息安全的控制能力较强,高度机密的信息系统采用C/S模式 |
B/S建立在广域网上,对安全控制能力较弱,面对的是不可知的用户群。 |
程序的架构不同 |
C/S程序更注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑 |
B/S对安全和速度多重考虑,建立在需要优化的角度上,现在的技术更新也在B/S上优化更多 |
软件重用不同 |
C/S程序的重用较差,一般做完了有啥功能就是固定着,只有在一定需要的情况下才需要修改 |
B/S有多重结构,要求构件相对独立,有较好的重用性。例如你买一辆车,报废了,里面的零件可以再拿到其他的地方复用 |
系统维护成本 (软件生存周期开销大) |
C/S程序由于整体性,必须在做的时候就需要考虑整体的考察,因为如果使用C/S模式开发,需要升级可能是需要再做一个新系统的可能性 |
B/S的构件相对独立,新增构件,修改构件在软件的升级中能达到无缝升级,将系统的维护开销减到最小 |
处理的问题不同 |
C/S可以处理用户面固定,安全要求高需求,与操作系统相关,一般都是相同的操作系统 |
B/S建立在广域网上,面对不同的用户群体,分散地域,多种操作系统 |
用户接口不同 |
C/S多是建立在win平台上,表现能力有限,对程序员的要求比较高 |
B/S建立在浏览器上,有更加丰富和生动的表现方式与用户交流。且大部分的难度降低,减低开发成本 |
信息流不同 |
C/S一般是典型的中央集权的机械式处理,交互性相对低 |
B/S信息流可变化,有更高的交互性 |
一文明白所谓的CS与BS设计模式的更多相关文章
- 什么是CS和BS结构,两种结构的区别
什么是CS和BS结构,两种结构的区别 什么是C/S和B/S结构? C/S又称Client/Server或客户/服务器模式.服务器通常采用高性能的PC.工作站或小型机,并采用大型数据库系 ...
- 1.cs与bs结构
####CS 与 BS 结构 C/S 结构软件:客户端(Client)服务器(Server)软件,客户端需要单独下载安装之后,才能正常操作的软件 B/S 结构软件:浏览器(Browser)服务器(Se ...
- CS 和 BS 的区别和优缺点
通俗来讲: bs是浏览器(browser)和服务器(server) cs是静态客户端程序(client)和服务器(server) 区别在于,虽然同样是通过一个程序连接到服务器进行网络通讯,但是bs结构 ...
- CS与BS区别
简介:CS即Client/Server(客户机/服务器)结构,C/S结构在技术上很成熟,它的主要特点是交互性强.具有安全的存取模式.网络通信量低.响应速度快.利于处理大量数据.但是该结构的程序是针对性 ...
- 网络应用软件结构-----CS与BS结构(网络基本知识小结)
1.网络的大致结构 2.网络编程 通过直接或间接地使用网络通讯的协议实现计算机与计算机之间的通讯.在TCP/IP协议层主要麦网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的 ...
- CS 和 BS 的区别和优缺点(转)
转自:http://www.cnblogs.com/scnuyz/p/5808808.html bs是浏览器(browser)和服务器(server) cs是静态客户端程序(client)和服务器(s ...
- java文件导出过程 CS、BS差别
最近在做一个需求,类似和navicat工具差不多的,通过java代码吧数据库表的数据导出来.jdbc获取数据库连接,查询表数据,分批次用流写入文件txt.csv.json.xls.xlsx,搞定之后, ...
- 前端系列-CS与BS的区别
现在的系统架构有B/S与C/S之分. C/S,即Client/Server(客户端/服务器).我们一般使用的软件架构都是C/S架构,比如各个系统版本中的软件如qq管家.腾讯qq.office等.C/S ...
- cs 与 bs 架构
C/S和B/S各有优势,C/S在图形的表现能力上以及运行的速度上肯定是强于B/S模式的,不过缺点就是他需要运行专门的客户端,而且更重要的是它不能跨平台,用c++在windows下写的程序肯定是不能在l ...
随机推荐
- 2.Docker Compose 部署应用程序
部署 Tomcat version: '3.1' services: tomcat: restart: always image: tomcat container_name: tomc ...
- 375. 猜数字大小 II
题目: 链接:https://leetcode-cn.com/problems/guess-number-higher-or-lower-ii/ 我们正在玩一个猜数游戏,游戏规则如下: 我从 1 到 ...
- Python论做游戏外挂,Python输过谁?
玩过电脑游戏的同学对于外挂肯定不陌生,但是你在用外挂的时候有没有想过如何做一个外挂呢? 我打开了4399小游戏网,点开了一个不知名的游戏,唔,做寿司的,有材料在一边,客人过来后说出他们的要求,你按照菜 ...
- 统计redis大key信息(前topN)
相关包下载链接 https://github.com/sripathikrishnan/redis-rdb-tools/releaseshttps://pypi.org/project/python- ...
- java - 并发集合 Vector、synchronizedCollection、CopyOnWriteArrayList之间的区别。
概要 JDK中提供ArrayList集合方便我们对集合内元素进行增删改查,但是ArrayList为了能够在单线程中快速进行操作其设计并不支持多线程进行操作.ArrayList在多线程环境下可能会产生j ...
- 南昌邀请赛B题(拉格朗日插值)
题目链接:https://nanti.jisuanke.com/t/40254 #include<iostream> #include<cstdio> #include< ...
- 洛谷P1765 手机_NOI导刊2010普及(10) 关于cin和getline的一些区别 以及一些STL
一. cin>>s:cin>>是由两部分构成的,cin和>>,其中cin是输入流istream类的一个对象,隶属于iostream函数库而>>则是运算符 ...
- 关于Django图片上传
首先要设置settings # 上传文件 MEDIA_ROOT = 'media' # 项目下的目录 MEDIA_URL = "/media/" # 跟STATIC_URL类似,指 ...
- 跨站脚本(XSS)
1.1 XSS定义 XSS,即为(Cross Site Scripting),中文名为跨站脚本,是发生在目标用户的浏览器层面上的,当渲染DOM树的过程发生了不在预期内执行的JS代码时,就发生了XSS攻 ...
- Loj515 「LibreOJ β Round #2」贪心只能过样例 - Bitset,Dp
bitset的基本应用了 类似可行性背包的dp考虑 复杂度O(nmL/64) #include <bits/stdc++.h> using namespace std; bitset &l ...