技术架构(MVC、BS、CS)
廖家龙 用心听,不照做

为什么需要架构?

架构是地基,地基不牢,地动山摇。架构是工程实施的第一步。好的架构满足这么几个特点:

  1. 框架稳定
  2. 可扩展
  3. 易于开发

MVC框架

B/S架构

B/S就是在浏览器中打开的应用系统,即WEB系统。不需要下载客户端,在浏览器上即可运行。

优点:

  1. 分布性强,客户端零维护。只要有网络、浏览器,可以随时随地进行查询、浏览等业务处理。
  2. 业务扩展简单方便,通过增加网页即可增加服务器功能。
  3. 维护简单方便,只需要改变网页,即可实现所有用户的同步更新。
  4. 开发简单,共享性强。

缺点:

  1. 个性化特点明显降低,无法实现具有个性化的功能要求(但能通过账号体系进行个性化设置)。
  2. 在跨浏览器上,B/S架构不尽如人意(在不同浏览器上会产生兼容问题)。
  3. 客户端服务器端的交互是请求-响应模式,通常动态刷新页面,响应速度明显降低(Ajax可以一定程度上解决这个问题)。无法实现分页显示,给数据库访问造成较大的压力。
  4. 在速度和安全性上需要花费巨大的设计成本(可以使用安全的 HTTPS 协议,安装控件的方式实现较好的安全性)。
  5. 功能弱化,难以实现传统模式下的特殊功能要求。

C/S架构

C/S分布式模式,是计算机用语。C是指Client,S是指Server,C/S模式就是指客户端/服务器模式。是计算机软件协同工作的一种模式,通常采取两层结构。服务器负责数据的管理,客户机负责完成与用户的交互任务。客户端是需要安装专用的客户端软件。

优点:

  1. 能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器,所以C/S客户端响应速度快。
  2. 操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求。
  3. C/S结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程。
  4. 安全性能可以很容易保证,C/S一般面向相对固定的用户群,程序更加注重流程,它可以对权限进行多层次校验,提供了更安全的存取模式,对信息安全的控制能力很强。一般高度机密的信息系统采用C/S结构适宜。

缺点:

  1. 需要专门的客户端安装程序,分布功能弱,针对点多面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置。
  2. 兼容性差,对于不同的开发工具,具有较大的局限性。若采用不同工具,需要重新改写程序。
  3. 开发、维护成本较高,需要具有一定专业水准的技术人员才能完成,发生一次升级,则所有客户端的程序都需要改变。
  4. 用户群固定。由于程序需要安装才可使用,因此不适合面向一些不可知的用户,所以适用面窄,通常用于局域网中。

区别:

C/S响应速度快,安全性强,一般应用于局域网中,但是开发维护成本高; B/S可以实现跨平台,客户端零维护,但是个性化能力低,响应速度较慢。所以有些单位日常办公应用B/S,在实际生产中使用C/S结构。

产品经理为什么需要了解技术架构?

基于对业务和产品能力的理解,抽象基础服务,形成组件,在技术上实现组件化架构,提前预知,避免重复开发