技术架构(MVC、BS、CS)
为什么需要架构?
架构是地基,地基不牢,地动山摇。架构是工程实施的第一步。好的架构满足这么几个特点:
- 框架稳定
- 可扩展
- 易于开发
MVC框架
B/S架构
B/S就是在浏览器中打开的应用系统,即WEB系统。不需要下载客户端,在浏览器上即可运行。
优点:
- 分布性强,客户端零维护。只要有网络、浏览器,可以随时随地进行查询、浏览等业务处理。
- 业务扩展简单方便,通过增加网页即可增加服务器功能。
- 维护简单方便,只需要改变网页,即可实现所有用户的同步更新。
- 开发简单,共享性强。
缺点:
- 个性化特点明显降低,无法实现具有个性化的功能要求(但能通过账号体系进行个性化设置)。
- 在跨浏览器上,B/S架构不尽如人意(在不同浏览器上会产生兼容问题)。
- 客户端服务器端的交互是请求-响应模式,通常动态刷新页面,响应速度明显降低(Ajax可以一定程度上解决这个问题)。无法实现分页显示,给数据库访问造成较大的压力。
- 在速度和安全性上需要花费巨大的设计成本(可以使用安全的 HTTPS 协议,安装控件的方式实现较好的安全性)。
- 功能弱化,难以实现传统模式下的特殊功能要求。
C/S架构
C/S分布式模式,是计算机用语。C是指Client,S是指Server,C/S模式就是指客户端/服务器模式。是计算机软件协同工作的一种模式,通常采取两层结构。服务器负责数据的管理,客户机负责完成与用户的交互任务。客户端是需要安装专用的客户端软件。
优点:
- 能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器,所以C/S客户端响应速度快。
- 操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求。
- C/S结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程。
- 安全性能可以很容易保证,C/S一般面向相对固定的用户群,程序更加注重流程,它可以对权限进行多层次校验,提供了更安全的存取模式,对信息安全的控制能力很强。一般高度机密的信息系统采用C/S结构适宜。
缺点:
- 需要专门的客户端安装程序,分布功能弱,针对点多面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置。
- 兼容性差,对于不同的开发工具,具有较大的局限性。若采用不同工具,需要重新改写程序。
- 开发、维护成本较高,需要具有一定专业水准的技术人员才能完成,发生一次升级,则所有客户端的程序都需要改变。
- 用户群固定。由于程序需要安装才可使用,因此不适合面向一些不可知的用户,所以适用面窄,通常用于局域网中。
区别:
C/S响应速度快,安全性强,一般应用于局域网中,但是开发维护成本高; B/S可以实现跨平台,客户端零维护,但是个性化能力低,响应速度较慢。所以有些单位日常办公应用B/S,在实际生产中使用C/S结构。
产品经理为什么需要了解技术架构?
基于对业务和产品能力的理解,抽象基础服务,形成组件,在技术上实现组件化架构,提前预知,避免重复开发