第一次作业
1、
SSH是 struts+spring+hibernate的一个集成框架。集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(Data Access Objects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring做管理,管理struts和hibernate。
简单来说,Struts:控制逻辑关系;Spring:解耦;Hibernate:操作数据库。
2、
SSM(Spring+SpringMVC+MyBatis)框架集由Spring、SpringMVC、MyBatis三个开源框架整合而成,常作为数据源较简单的web项目的框架。
- spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
- SpringMVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制.
- MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。
3、
前端技术体系:
整个前端技术体系可以分为四个层次:
(1)线下层的重点在于提高开发效率,
(2)基础设施层重点关注稳定性,
(3)保障层重点关注质量与可用性,
(4)业务层重点关注服务的全面性和可复用性。
业务系统:
业务系统是核心系统(浏览器或者App中的前端应用本身),其它系统是对它的支持或者控制。业务系统可以分为业务组件、公共库和第三方库三个层次:
公共样式库:
(1)有利于各业务线之间保持用户体验的一致性。
(2)各业务线在公共样式库的基础之上做可复用的UI组件,促进效率提升。
公共功能库:
(1)包括常用的功能模块,比如登陆、支付、数据统计等等,
(2)可以用自动化测试的覆盖度来保障质量。
第三方库的组织构成:
(1)样式框架:Bootstrap Material design
(2)UI框架:React VUE
(3)第三方功能库:Fetch Modernizr Sentry GA
(4)第三方基础库:jQuery Zetpo Underscore Lodash
业务系统辅助:
配置系统 - 集中管理各种配置项:
(1)比如功能开关,链接地址,AB测试控制等等。
使用配置系统的好处是不用改代码并发布即可实现实时控制。
集中配置项也更便于展示他们之间的关系。
(2)消息系统 - 通知发布:信息推送 客服等即时通讯场景
(3)鉴权系统:集中处理登陆、支付等需要风险控制较高的公共业务
监控系统:
如何从用户的角度判断系统的可用性,监控关注的是实时数据。
监控系统的功能分类:
(1)可用性监控 - 页面访问成功率 接口成功率
(2)错误监控 - 收集并汇总应用系统抛出的错误信息
(3)业务指标监控 - 实时订单量 事件触发量
统计系统:
统计系统和监控系统的区别在于:
(1)监控关注的是实时数据,统计关注的是全量数据,
(2)监控是为了提高团队的故障响应能力,统计是为产品与业务分析提供基础。
统计系统的功能分类:性能统计;访问量统计;用户行为统计。
测试系统:
自动化测试是是一个塔型体系。静态检查是必须的,作为团队规范存在,覆盖全部代码。UT是局部覆盖的,关注基础功能。E2E是可选的,关注主流程和回归测试。
(1)静态检查 - Eslint JSCS
(2) Unit Test - Karma Jasmine Mocha
(3)End to End Test - Protracker Nightwatch Selenium
(4) 持续集成 - TravisCI CircleCI
基础设施层:
(1)资源管理系统 - CDN 图片管理,发布工具,离线包管理
(2)数据持久化系统 - 存储上层系统的非核心业务数据,比如错误数据或者用户行为数据
(3)运维系统 - 版本控制,发布脚本
工具集:
代码管理 - Git Stash
包管理 - NPM Bower Yarn
构建工具 - Webpack
任务管理工具 - Gulp Grunt
组件系统:
组件系统的作用:
集中管理可复用的开发资源:
(1)不止包括UI组件,也包括功能组件。
(2)各业务线优先从系统中选取可复用的部分,同时向系统中沉淀组件。
组件系统要点:
(1)组件的质量标准
(2)组件的测试用例
(3)组件的复用机制
(4)Demo与Gallery