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设计模式的更多相关文章

  1. 什么是CS和BS结构,两种结构的区别

    什么是CS和BS结构,两种结构的区别 什么是C/S和B/S结构?         C/S又称Client/Server或客户/服务器模式.服务器通常采用高性能的PC.工作站或小型机,并采用大型数据库系 ...

  2. 1.cs与bs结构

    ####CS 与 BS 结构 C/S 结构软件:客户端(Client)服务器(Server)软件,客户端需要单独下载安装之后,才能正常操作的软件 B/S 结构软件:浏览器(Browser)服务器(Se ...

  3. CS 和 BS 的区别和优缺点

    通俗来讲: bs是浏览器(browser)和服务器(server) cs是静态客户端程序(client)和服务器(server) 区别在于,虽然同样是通过一个程序连接到服务器进行网络通讯,但是bs结构 ...

  4. CS与BS区别

    简介:CS即Client/Server(客户机/服务器)结构,C/S结构在技术上很成熟,它的主要特点是交互性强.具有安全的存取模式.网络通信量低.响应速度快.利于处理大量数据.但是该结构的程序是针对性 ...

  5. 网络应用软件结构-----CS与BS结构(网络基本知识小结)

    1.网络的大致结构 2.网络编程 通过直接或间接地使用网络通讯的协议实现计算机与计算机之间的通讯.在TCP/IP协议层主要麦网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的 ...

  6. CS 和 BS 的区别和优缺点(转)

    转自:http://www.cnblogs.com/scnuyz/p/5808808.html bs是浏览器(browser)和服务器(server) cs是静态客户端程序(client)和服务器(s ...

  7. java文件导出过程 CS、BS差别

    最近在做一个需求,类似和navicat工具差不多的,通过java代码吧数据库表的数据导出来.jdbc获取数据库连接,查询表数据,分批次用流写入文件txt.csv.json.xls.xlsx,搞定之后, ...

  8. 前端系列-CS与BS的区别

    现在的系统架构有B/S与C/S之分. C/S,即Client/Server(客户端/服务器).我们一般使用的软件架构都是C/S架构,比如各个系统版本中的软件如qq管家.腾讯qq.office等.C/S ...

  9. cs 与 bs 架构

    C/S和B/S各有优势,C/S在图形的表现能力上以及运行的速度上肯定是强于B/S模式的,不过缺点就是他需要运行专门的客户端,而且更重要的是它不能跨平台,用c++在windows下写的程序肯定是不能在l ...

随机推荐

  1. windows10 找回windows照片查看器的方法

    突然发现windows10自带的图片查看器打开预览查看速度还是可以的,但是却找不到了,,,,, 下面就是如何找回 windows 图片查看器的操作了,只需要运行一个bat程序即可!!!!!! 随便新建 ...

  2. java学习笔记之IO编程—内存流、管道流、随机流

    1.内存操作流 之前学习的IO操作输入和输出都是从文件中来的,当然,也可以将输入和输出的位置设置在内存上,这就需要用到内存操作流,java提供两类内存操作流 字节内存操作流:ByteArrayOutp ...

  3. STL中_Rb_tree的探索

    我们知道STL中我们常用的set与multiset和map与multimap都是基于红黑树.本文介绍了它们的在STL中的底层数据结构_Rb_tree的直接用法与部分函数.难点主要是_Rb_tree的各 ...

  4. Mysql快速入门(三)

    MySQL性能优化之查看执行计划explain 介绍: (1).MySQL 提供了一个 EXPLAIN 命令, 它可以对 SELECT 语句进行分析, 并输出 SELECT 执行的详细信息, 以供开发 ...

  5. k8s部署k8s-dashboard(v2.0.0-rc5)

    部署dashboard 版本问题 dashboard版本更新换代很快,而且每个版本对应的k8s版本都有可能不同,所以第一步要确定版本对应关系. 查看页面可以确认版本对应关系 版本对应不上可能出现很多语 ...

  6. 假期学习【五】RDD编程实验四

    今天完成了实验四的第二问和第三问 第二题 对于两个输入文件 A 和 B,编写 Spark 独立应用程序,对两个文件进行合并,并剔除其 中重复的内容,得到一个新文件 C.下面是输入文件和输出文件的一个样 ...

  7. redis 有序集合(set),无需集合(zset)

    1.set(无序集合)无序集合每个元素都是string元素的唯一性,不能重复没有修改操作 1.增加 sadd key value1 value2 value3... 2.获取 smembers key ...

  8. Python标准库之sys模块

    获取Python解释器的版本信息 import sys print(sys.version) #输出 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) ...

  9. linux分区命令parted的用法

    parted的适用场景 创建操作大于2T的分区 一般情况下,我们都是选择使用fdisk工具来进行分区,但是目前在实际生产环境中使用的磁盘空间越来越大,呈TiB级别增长:而常用的fdisk这个工具对分区 ...

  10. "const char *" 类型的值不能用于初始化 "char *" 类型的实体

    用vs2019发现会出现这样的问题 最后发现只要设置一下就解决了,解决方案如下: 右击该项目,选择属性->c/c++->语言->将符合模式改为否就行了... 设置之后程序没有再报错, ...