Day15-01.maven高级-分模块设计与开发
(1)分模块设计
为什么?将项目按照功能拆分成若干个子模块,方便项目距的管理维护、扩展、也方便模块间的项目调用,资源共享。
所谓分模块设计,指的就是我们在设计一个Java项目的时候,将一个Java项目拆分成多个模块进行开发,为什么要分模块呢?如果项目不分模块又会存在什么样的问题呢?
如果项目不分模块,也就意味着所有的业务代码全都写在这一个Java项目中。随着业务的扩张,这个项目当中的功能可能会越来越多,假如我们开发的是一个大型的电商项目,里面可能就包括了商品模块、搜索模块、订单模块、购物车模块等等,这些所有的业务代码我们都在一个Java项目中编写,这个项目至少几百个人开发,这些开发人员全部操作这一个Java项目,此时就会发现这个项目管理和维护起来会非常困难。假如在项目中我们定义了一些通用的工具类和组件,而公司的其他项目组也想使用我们所封装的组件和工具类非常不方便,因为这个Java项目中包含了当前项目的所有业务代码,所以就造成了这里面封装的组件难以复用。
怎么解决这些问题呢?
分模块设计。我们在项目设计阶段,就可以将一个大的项目拆分成若干个模块,每一个模块都是独立的,比如可以商品相关的功能放在商品模块中,搜索相关的业务功能放在搜索模块中…。而为了组件的服用,我们也可以将项目中的实体类、工具类以及我们定义的通用的组件都单独的抽取到一个模块中,如果当前模块例如订单模块需要用到这些实体类或者工具类,此时直接在订单模块中引入这个工具类的坐标就可以了。这样就将一个项目拆分成了若干个模块。分模块之后,就可以几个人一组几个人一组负责每一个模块,这样更加便于项目的管理和后期项目的维护。而且分模块设计之后,如果我们需要用到另外一个模块的功能,我们直接依赖这个模块就可以了。比如商品模块、搜索模块等等都需要依赖通用组件当中封装的一些工具类,我们只需要引入这个通用组件的坐标就可以了。
(2)实践
我们之前开发的案例工程,这个项目中除了员工管理和部分管理以及登录验证等功能外,我们还定义了一些实体类、工具类。如果说在当前公司的其他项目组当中也想使用我们封装的这些公共组件怎么办?能不能让它直接依赖我们当前项目?当然不能。因为这个项目当中包含了当前项目的所有代码,而我们想共享和复用的资源仅仅是这个项目下的实体类和工具类,如果全部都依赖进来:①项目在启动的时候会把所有的类都加载进来,会影响性能。②如果把一整个项目都依赖进来,也就意味着我们所有的业务代码都对外公开了,这是非常不安全的。怎么办呢?
通过分模块设计就可以完美解决这个问题。
(3)步骤
1、创建maven模块tlias-pojo,存放实体类
2、创建maven模块tlias-utils,存放相关工具类
注意事项:分模块开发需要先针对模块功能进行设计,再进行编码,不会先将功能开发完毕,然后进行拆分。
(4)演示:
(5)总结
1、什么是分模块设计?
将项目按照功能拆分成若干个子模块
2、为什么要分模块设计?
方便项目的管理维护、扩展、也方便摩卡意见的项目调用。资源共享
3、注意事项
分模块设计需要先针对模块功能进行设计,再进行编码。不会先将工程开发完毕,然后进行拆分。
3、注意事项
分模块设计需要先针对模块功能进行设计,再进行编码。不会先将工程开发完毕,然后进行拆分。