前端组件化的实施方案

常规系统开发流程

一个典型的系统,它的开发过程可能是这样的:

  • 前端独立系统
  • 后端独立系统
  • 中间有类似 swagger 的接口约定机制

缺点: 形成这个问题的原因是整个研发过程两极分化,断裂得很厉害,前后端的唯一桥梁是接口,并且,一般来说,当一端产生了变更之后,很难有一种自动同步机制去影响另一端,通常只能去扫描发现这些不一致的地方,并且手工做调整。

架构治理角度,开发流程
  • 前端主导的流程
  • 前后端合一的研发模式
  • 后端主导的流程
前端主导的流程

前端主导的流程是怎样的呢?

这个流程的要点是让后端退化为配置,借助 BaaS,FaaS 这样的基础架构,舍弃后端的构建与发布环节,工程上就会成为这样的形态:
在这里插入图片描述

这样,后端成为了一种流程无感的环节,前端是整个项目的集成方,后端成为了一种配置化的东西,成为了前端体系下的附属。这种模式是否能行得通,最大的先决条件就是后端接口是否稳定。在互联网企业中,尤其是领域模型关联关系较少的情况下,有不少系统在往这个方向走。

  • 轻量业务:完全 BaaS
  • 较重的业务:通过 Faas 调用微服务
前后端融合的模式

另外,业界也存在一些探索,希望把前后端的开发过程融合。我们所要解决的问题一直都是变更的同步,那么,如果一个项目的前后端都位于一个工程中,天然对同步也是有利的。

在这里插入图片描述
这种模式下,实际上是通过两者合一的方式,缩短了前后端研发过程之间的距离和沟通成本,在此基础上,还可以有另外一些手段作优化,比如:

  • 根据后端的服务生成前端的调用接口,并且附带 TypeScript 类型描述
  • 根据后端的单元测试生成前端的 mock 数据

前后端合一的工程中,最大优势就是后端接口的变更一定会自动传导到前端,服务接口字段变更会导致:

  • 前端类型校验出错
  • 前端的单元测试出错

并且,由于二者合并在一个项目中,改了一边忘记改另一边的情况也更不容易发生,两者的发布也是在同一个流程中。

这种模式普适性相对好,但是对人员全栈技能的需求是要稍高的。

后端主导的流程

后端主导的流程又是怎样的呢?

这个流程是反过来,尽可能地把视图弱化,让它成为后端模型的附属物。在很长的时间里,这种形态一直是主流,只是可能具体形式上历经了一些演变。

后端主导的流程推行到极致,工程上就会成为这样的形态:

在这里插入图片描述
在这种路径下,视图成为了领域模型的附属物,当领域模型产生变动的时候,视图自然跟着变动,即使是视图之间的联动关系,也是经由领域模型之间的关系控制的。

这样,前端成为了一种流程无感的环节,后端是整个项目的集成方,前端成为了一种配置化的东西。这条路径的先决条件是前端的模式相对固定,可穷举,不会存在太多的个性化交互。通常,会有一些企业软件的研发过程采用这种模式。这种模式对人的需求是领域建模能力较强。

组件化
前端不分层的组件化体系

这个体系是当前前端最熟悉的路径了,在实现者眼里,后端退化为接口,不关心数据之间的关系。
在这里插入图片描述

前端分层的组件化体系

另外存在一种实践,在前端又引入分层,把真正的视图和逻辑、数据等等隔离,这个时候,视图部分实际上就可以变得非常薄,整个视图部分的组件化,实际上类似于模板化。
在这里插入图片描述

端到端的组件化体系

如果考虑到实施的原则尽量简单,端到端组件是最容易理解,集成难度最低的一种形态。

在此模式下,单个组件应当包含视图到服务端模型的整个链路。组件只跟某个具体的领域模型交互,并不关心其他组件的存在。单个或者多个组件,都能够直接运行。页面成为一种通用的容器,把它们集成起来。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
高清视频检测卡口系统 概述 1 系统概述 近年来,随着社会经济的不断发展,人们的生活发生了天翻地覆的变,车辆的普及 程度也越来越高,但同时治安问题也越来越突出,尤其是与车辆相关的刑事和治安案件 。在此情况下,如何利用先进的科技手段来抑制交通事故、打击预防涉车案件、震慑犯 罪份子、进而提高整个城市交通综合管理水平成为了当前摆在公安交通部门面前的一道 大难题。卡口系统正是在这种大环境下孕育而生的。 多年来,以机动车图片抓拍、车辆号牌识别、车辆速度检测、布控比对报警、查报站 出警拦截为主要目的的卡口系统在城市治安及交通管理过程中发挥了重要的作用。而与 此同时,我们也清晰的认识到传统卡口系统自身建设模式的局限性,极大的限制了系统 的功能扩展及性能提高。以"标清摄像机+工控机"为主的单点式卡口建设模式,已经不能 满足当前用户对卡口系统的要求。 系统采用视频检测方式,前端相机通过配合识别车辆行驶轨迹,并进行触发抓拍;抓 拍的照片中可显示车辆的通过时间、地点、行驶方向、车牌号码、车牌颜色等车辆的所 有细节信息以及司机的面部特征。该系统已在全国多个省份的卡口项目中成功应用,并 获得了良好的效果。 2 设计原则 结合当前技术发展状况及趋势,在系统的设计过程中我们严格遵循以下原则: 1. 经济性 1. 充分利用成熟的先进技术,采用性价比较高的产品; 2. 避免盲目性追求最新技术,导致配套设备跟不上,避免某些新技术欠成熟和欠稳定, 同时又要防止系统处理能力不够; 3. 软件符合管理需要,界面友好、易维护,整个系统易用、实用。 2. 可靠性 4. 系统硬件上全部选用主流产品,保证了系统的高质量和高稳定性,能够适应野外恶劣 环境工作,同时采取有效的防雷、接地、稳压等措施; 5. 系统最大限度集成国内先进的技术及组件,采用成熟技术以降低系统的不稳定因素; 6. 对系统中的硬件、操作系统、网络、数据库部分设计尽可能详尽的故障处理方案,以 保证系统的快速恢复性; 7. 系统采用容错技术提高系统的可靠性。 3. 先进性 8. 在系统可靠性的前提下,先进性也至关重要,系统的网络平台、硬件平台、系统软件 平台技术代表了当今计算机技术发展的方向,并经实践证明具有很强的实用性,符 合当今计算机科学的发展潮流。 9. 系统各平台提供二次开发接口,可以保证各项技术可以不断的更新和升级以维持系统 的先进性。 4. 安全性 10. 系统具有防计算机病毒的能力,有较强的抗干扰能力,具有密码、多级控制级别、撤 设防级别,避免出现遭到恶意攻击和数据被非法提取使用的现象,保障了系统网络 的安全。 5. 可扩展性 11. 在系统软硬件上的设计和选型上,我们充分考虑其可扩展性,系统结构易于扩充,以 适应今后可能出现的更大任务负载。硬件平台具有可升级性,当需要时可以增加新 的计算机设备同原有计算机设备一起工作以提高系统的处理能力,保证原有资源的 充分利用。 6. 规范性 12. 由于本系统是一个严格的综合性系统,在系统的设计与施工过程中我们参考各方面的 标准与规范,严格遵从各项技术规定,做好系统的标准设计与施工。一切从实际 出发,使智能系统具有较高的实用效能。这也是高清监控系统在当今之所以能迅速 兴起并发展的关键所在。 7. 易维护性 13. 采用业内通用的易于维护的系统平台; 14. 应用软件界面友好,安装、使用、维护简单便捷; 15. 业务流程清晰,符合常规业务处理习惯。 16. 系统数据维护方便,备份及数据恢复快速简单; 17. 系统软件配置简单方便,尽量避免复杂的系统配置文件 3 设计依据 《道路交通安全违法行为图像取证技术规范》 GA/T832-2009 《机动车号牌图像自动识别技术规范》 GA/T833-2009 《公路车辆智能监测记录系统通用技术条件》 GA/T497-2009 《公安交通指挥系统工程建设通用程序和要求》 GA/T651-2006 《公安交通管理外场设备基础施工通用要求》 GA/T652-2006 《安全防范工程技术规范》 GB50348-2004 《报警图像信号有线传输装置》 GB/T 16677-1996 《公路交通安全实施设计规范》 JTG D81-2006 《公路交通安全设施施工技术规范》 JTG F71-2006 《机动车测速仪》 GB/T21255-2007 《民用闭路电视监控系统工程技术规范》 GB50198-94 《计算机信息系统安全保护等级划分准则》 GB17859-1999 《建筑物电子信息系统防雷技术规范》 GB50343-2004 《安全防范工程程序与要求》 GA/T75-1994 《视频安防监控系统技术要求》 GA/T367-2001 《安全防范系统验收规则》 GA308-2001 《安全防范系统通用图形符号》 GA/T74-20

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值