1、 你如何理解分层的思想,你认为它有什么优点和缺点?
2、 请比较B/S模式和C/S模式的异同点和优缺点?

分层(Laying)是软件开发者用来将复杂的软件系统分解的最常用的方法。

当你使用“层”(Lay)这个术语考虑一个系统时,你可以把软件中的主要子系统的组织方式想象为多层蛋糕,每一层都位于低层之上。在这个方案中,高层使用低层中定义的各种服务,但低层却意识不到高层的存在。更进一步地,每一层通常都会对其低层隐藏在其上的层,因此,层4使用层3提供的服务,而层3使用层2提供的服务,但是层4不知道层2的存在。

将系统分解为不同的层有很多益处:

你可以将单独的一层理解为一个整体,而不用过多的了解其它层的细节。
你可以用实现相同基本服务的替代品来替代这些层。
你可以减少层之间的依赖性。
层可以更好的实现标准化。
一旦你创建了一层,你就可以在许多更高级的服务中使用它。
分层是一项很重要的技术,但是也有不足:

层封装了部分功能,但并不能很好地封装所有功能。因此,你有时必须修改多个层。这个缺点的经典案例就是在一个分层的企业应用程序中加入一个需要在UI上显示的字段,则必须修改数据库,并且修改位于UI和数据库间的每一层。
额外的层会影响性能。在每一层数据通常需要从一层传递到另一层。但是,对于某一功能的封装通常会给你带来更高的效率以弥补损失的性能。我们可以通过优化控制事务的层,而加快事务的处理。
分层架构最难的部分是决定应该拥有哪些层和这些层的职责。

一、C/S结构与B/S结构的特点分析

为了区别于传统的C/S
模式,才特意将其称为B/S模式。认识到这些结构的特征,对于系统的选型而言是很关键的。

1、系统的性能

在系统的性能方面,B/S占有优势的是其异地浏览和信息采集的灵活性。任何时间、任何地点、任何系统,只要可以使用浏览器上网,就可以使用B/S系统的终端。

不过,采用B/S结构,客户端只能完成浏览、查询、数据输入等简单功能,绝大部分工作由服务器承担,这使得服务器的负担很重。采用C/S结构时,客户端和服务器端都能够处理任务,这虽然对客户机的要求较高,但因此可以减轻服务器的压力。而且,由于客户端使用浏览器,使得网上发布的信息必须是以HTML格式为主,其它格式文件多半是以附件的形式存放。而HTML格式文件(也就是Web页面)不便于编辑修改,给文件管理带来了许多不便。

2、系统的开发

C/S结构是建立在中间件产品基础之上的,要求应用开发者自己去处理事务管理、消息队列、数据的复制和同步、通信安全等系统级的问题。这对应用开发者提出了较高的要求,而且迫使应用开发者投入很多精力来解决应用程序以外的问题。这使得应用程序的维护、移植和互操作变得复杂。如果客户端是在不同的操作系统上,C/S结构的软件需要开发不同版本的客户端软件。但是,与B/S结构相比,C/S技术发展历史更为“悠久”。从技术成熟度及软件设计、开发人员的掌握水平来看,C/S技术应是更成熟、更可靠的。

3、系统的升级维护

C/S系统的各部分模块中有一部分改变,就要关联到其它模块的变动,使系统升级成本比较大。B/S与C/S处理模式相比,则大大简化了客户端,只要客户端机器能上网就可以。对于B/S而言,开发、维护等几乎所有工作也都集中在服务器端,当企业对网络应用进行升级时,只需更新服务器端的软件就可以,这减轻了异地用户系统维护与升级的成本。如果客户端的软件系统升级比较频繁,那么B/S架构的产品优势明显——所有的升级操作只需要针对服务器进行,这对那些点多面广的应用是很有价值的,例如一些招聘网站就需要采用B/S模式,客户端分散,且应用简单,只需要进行简单的浏览和少量信息的录入。

4、C/S模式的优点和缺点

★C/S模式的优点

●由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快。

●操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求。

●C/S结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程。

★C/S模式的缺点

●需要专门的客户端安装程序,分布功能弱,针对点多面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置。

●兼容性差,对于不同的开发工具,具有较大的局限性。若采用不同工具,需要重新改写程序。

●开发成本较高,需要具有一定专业水准的技术人员才能完成。

5、B/S模式的优点和缺点

★B/S模式的优点

●具有分布性特点,可以随时随地进行查询、浏览等业务处理。

●业务扩展简单方便,通过增加网页即可增加服务器功能。

●维护简单方便,只需要改变网页,即可实现所有用户的同步更新。

●开发简单,共享性强。

★B/S模式的缺点

●个性化特点明显降低,无法实现具有个性化的功能要求。

●操作是以鼠标为最基本的操作方式,无法满足快速操作的要求。

●页面动态刷新,响应速度明显降低。

●无法实现分页显示,给数据库访问造成较大的压力。

●功能弱化,难以实现传统模式下的特殊功能要求。

B/S与C/S模式比较相关推荐

  1. 大淘宝服务端技术干货沉淀和总结

    网络基础 TCP三次握手 三次握手过程 客户端--发送带有SYN标志的数据包--服务端 一次握手 Client进入syn_sent状态 服务端--发送带有SYN/ACK标志的数据包--客户端 二次握手 ...

  2. python 各种模块学习

    from:https://blog.csdn.net/weiwangchao_/article/details/70570508 转载:.... Python的模块大全,很全,有详细介绍! 另外附Py ...

  3. 【Docker】容器的几种网络模式

    当你使用Docker时,你会发现需要了解很多关于网络的知识.Docker作为目前最火的轻量级容器引擎,因此,我们有必要深入了解Docker的网络知识,以满足更高的网络需求.本文介绍了Docker的4种 ...

  4. kali2020进入单模式_蚂蚁集团技术专家山丘:性能优化的常见模式及趋势

    陈显铭(山丘) 读完需要 6分钟 速读仅需 2 分钟 陈显铭,花名山丘,就职于蚂蚁集团,对分布式应用架构.服务化.性能优化等有深入的理解.参与支付宝支付链路核心系统,设计.调优应用系统关键能力, 高效 ...

  5. 2022-2028年中国交通建设PPP模式深度分析及发展战略研究报告(全卷)

    [报告类型]产业研究 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了PPP模式行业相关概述.中国PPP模式行业运行环境.分析了中国PPP ...

  6. Redis 笔记(10)— 发布订阅模式(发布订阅单个信道、订阅信道后的返回值分类、发布订阅多个信道)

    1. 发布-订阅概念 发布-订阅 模式包含两种角色,分别为发布者和订阅者. 订阅者可以订阅一个或者若干个频道(channel): 而发布者可以向指定的频道发送消息,所有订阅此频道的订阅者都可以收到此消 ...

  7. 2022-2028年中国新型氟塑料行业市场发展模式及投资机会预测报告

    [报告类型]产业研究 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了新型氟塑料行业相关概述.中国新型氟塑料行业运行环境.分析了中国新型氟 ...

  8. RabbitMQ 入门系列(11)— RabbitMQ 常用的工作模式(simple模式、work模式、publish/subscribe模式、routing模式、topic模式)

    1. simple 模式 simple 模式是最简单最常用的模式 2. work 模式 work 模式有多个消费者 消息产生者将消息放入队列.生产者系统不需知道哪一个任务执行系统在空闲,直接将任务扔到 ...

  9. 2022-2028年中国聚合物气体分离膜行业市场发展模式及投资前景分析报告

    [报告类型]产业研究 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了聚合物气体分离膜行业相关概述.中国聚合物气体分离膜行业运行环境.分析 ...

  10. 2022-2028年中国塑料板的制造行业市场发展模式及竞争格局预测报告

    [报告类型]产业研究 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了塑料板的制造行业相关概述.中国塑料板的制造行业运行环境.分析了中国塑 ...

最新文章

  1. 【Linux学习笔记】 - 什么是Linux?
  2. 干货丨从硬件配置到框架选择,请以这种姿势入坑深度学习
  3. sort,uniq,wc,history命令简介
  4. [转帖]不要迷失在技术的海洋中
  5. Cross_validation.train_test_split 中 stratify这个参数的意义是什么?
  6. Linux + RIL.pdf
  7. 二进制安全与MySQL的关系_《高可用MySQL》节选 -- 安全和二进制日志
  8. esp定律手动nspack 3.7_ESP定律原理详解
  9. 2017计算机三级试卷,2017年计算机三级《网络技术》测试题及答案
  10. Apache的下载安装(主要说的 64位)及问题
  11. 【数学分析笔记05】数列极限的性质
  12. Linux下安装anaconda,创建虚拟环境python3.7,并且安装深度学习框架pytorch进行模型训练
  13. MOS晶体管单元电路的最佳二维公共质心布局生成
  14. 基于C语言 51单片机应用技术 速成教程(持续更新中)
  15. 大数据分布式数据库系统介绍
  16. 【UI/UE设计师】banner设计原则-CSDN公开课-专题视频课程
  17. 如何显示和删除联想的OEM分区
  18. 【新闻】李晓翾先生荣获北美产险精算学会2022年度卓越成就奖
  19. P1027 [NOIP2001 提高组] Car 的旅行路线 (图 最短路)
  20. 数据挖掘常见分析方法

热门文章

  1. php json数据值,php操作JSON格式数据
  2. (区块链溯源)基于Hyperledger Fabric 区块链的产品溯源( 化妆品 )
  3. 注解—— java.lang.annotation.Annotation
  4. 第二章:解决LuckySheet 使用生成图表的时候发生 h.createChart is not a function错误
  5. 一个老鼠走迷宫问题的python解法
  6. 二手房买卖必须弄懂的七件事
  7. nginx配置地址端口
  8. 论文投稿指南——中文核心期刊推荐(新闻事业)
  9. oracle rr与yy日期格式
  10. Redis五大基本数据类型(String、LIst、Set、Hash、ZSet)及其底层结构