2)。Spring
Spring是一个非常著名的控制反转(IoC)以及面向切面的(AOP)框架。他是一个轻量级框架,并且设计也是无侵入式设计,促进了松耦合。Spring的控制反转是指,一个对象依赖的其他对象会通过被动的方式传递进来,而不是该对象主动创建或者查找该依赖对象[4]。Spring的面向切面编程允许通过分离应用的业务逻辑与系统级服务,进行内聚性的开发。我们在开发过程中往往会碰到许多重复但是不得不做的工作,比如事务管理,日志管理,违例管理等等。那么我们便可以使用Spring的面向切面编程进行这些重复工作的管理,让我们能够更多的关注于程序本身的逻辑和业务,从繁重的其他事务中解脱出来。
在Service端,我使用了Spring的事务控制。这样做的好处是,比如我在Service中处理用户提交修改流程,如果此时的资源被另外一个用户删除了,那么此时便能控制事务的回滚,使得数据库中不会插入异常数据,这在处理高并发,数据量大的情况下是具有很显著的作用的。
3)。Hibernate
Hibernate是一个基于元数据的轻量级ORM框架,简而言之,他是将数据库中的表结构和程序中POJO类进行了映射,封装了对于数据库的操作。在不是特别精通数据库的情况下,能够通过面向对象的方式便可以很好的进行程序开发。另外,Hibernate还提供了缓存机制,提高了效率。如下所示,为Hibernate的框架知识体系图:
图2-4 hibernate知识体系图
当然,凡事有利必有弊。Hibernate对于大批量数据的处理性能效率不是很高,不如直接使用JDBC。近两年,Mybatis开始流行,它以支持原生SQL的配置而闻名,效率性能也很好。当然凡是有利就有弊,Hibernate对于Dao层的开发明显比Mybatis方便许多,并且Hibernate还拥有更好的缓存性能,除此之外,如果使用Mybatis,那么如果更换数据库,则需要重新写sql语句,而使用hibernate则无需重写,只需要替换配置。
2。5搭建Restful风格的接口
REST即Representational State Transfer的缩写,可译为"表现层状态转化”;REST最大的几个特点为:资源、统一接口、URI和无状态;Restful风格是Roy Thomas Fielding2000年在其博士论文中提出的,这篇论文一经发表,就在互联网界掀起了一股风潮;REST风格实现是基于资源的,而基于资源实现有这样几个好处,对于REST规范:
强调HTTP应当以资源为中心,并且规范了资源URI的风格;
规范了HTTP请求动作(PUT,POST等)的使用,具有对应的语义;
遵循REST规范的Web应用将会获得下面好处:
URL具有很强可读性的,具有自描述性;
资源描述与视图的松耦合;
可提供OpenAPI,便于第三方系统集成,提高互操作性;
如果提供无状态的服务接口,可提高应用的水平扩展性;
一方面,随着云计算和移动计算的兴起,许多企业愿意在互联网上共享自己的数据、功能;另一方面,在企业中,RESTful API(也称RESTful Web服务)也逐渐超越SOAP成为实现SOA的重要手段之一;时至今日,RESTful架构风格已成为企业级服务的标配。[5]
2。6 基于Material Design设计风格
Material design是谷歌的一种基于纸片材料隐喻的设计规范,为了统一在各平台上的交互视觉体验,通过三维空间的光影变化来解决信息的层级关系,用卡片材料作为信息的载体,通过像现实世界中卡片的裁剪、变换、层叠等效果来实现信息的分块、转换、层级的关系。不得不提的是Material design在交互上的变革,充分考虑现实世界的变化过程,每个操作都有反馈,动画效果流畅自然,是一种优秀的设计语言。