• 1. 模块化设计平台开发部 主讲:史东旭1
  • 2. 2018/10/25什么是模块化设计模块化定义:把程序划分成若干个模块,每一个模块完成一个子功能,把这些模块组合起来,完成指定的功能。 模块定义:一个有明确定义的输入、输出和特性的程序实体。 模块化的特点:重用性,降低开发复杂度,模块关注单一功能,组合,降低耦合度
  • 3. 2018/10/25为什么要用模块化设计非模块化设计
  • 4. 4模块化 重用性 降低开发复杂度 降低代码耦合性 不用重复发明轮子 封装 易维护 团队同步开发 模块化与非模块化对比非模块化 代码不可重用 代码复杂度随着技术/业务复杂度增加而提高 耦合严重 代码逻辑暴露 很难维护升级 单人单功能开发模式
  • 5. MAVENMAEVN是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具 MAVEN提供以下功能 依赖管理 构建工具 项目信息聚合2018/10/25
  • 6. 依赖管理所谓依赖,可以简单的理解为jar包 你是怎么管理项目中的jar包的? Maven提供中央仓库,所需jar包以及其依赖的jar包自动从仓库下载到本地仓库2018/10/25
  • 7. 构建工具如果没有构建工具,你是怎么发布系统的? MAVEN方式 #mvn install2018/10/25
  • 8. MAVEN核心概念围绕着依赖管理与构建工具,MAVEN的核心概念如下: 依赖管理 坐标,依赖,仓库 构建工具 生命周期,插件 版本发布(略)2018/10/25
  • 9. 坐标groupId:项目的逆向域名 artfactId:groupId下唯一标识 Version:版本 Packaging:打包类型 groupId,artfactId, Version标识项目的唯一性(jar)2018/10/25
  • 10. 版本规范1.3.4-beta-2 <主版本>- <次版本>- <增量版本>- <限定符> 1.00-SNAPSHOT 处于开发中的不稳定版本 可以及时获得 尽量不要依赖2018/10/25
  • 11. 依赖2018/10/25
  • 12. 依赖的传递性2018/10/25
  • 13. 依赖-技巧2018/10/25
  • 14. 仓库Maven如何根据坐标来获取依赖? Maven获取的依赖放在哪里? 2018/10/25
  • 15. 远程仓库(私服) 广泛使用的私服:NEXUS 2018/10/25
  • 16. Pom中配置仓库2018/10/25
  • 17. 生命周期2018/10/25
  • 18. 插件2018/10/25特定的生命周期,希望有自定义操作,可以添加插件
  • 19. 命令行构建项目:Mvn clean install 创建项目:mvn archetype:generate …….2018/10/25
  • 20. MAVEN进阶Maven继承 复用配置 统一配置信息 Maven多模块 聚合构建 模块化2018/10/25
  • 21. MAVEN继承2018/10/25
  • 22. MAVEN多模块2018/10/25
  • 23. 实践一个提供邮件发送的模块 一个获取联系人信息的模块 一个发送邮件的web项目 Maven继承 Maven多模块 2018/10/25
  • 24. 再谈模块化用maven实现模块化的特点 Maven把不同的模块放到不同的jar中 Maven没有规定模块的对外接口 Maven模块的代码对外可见 maven不是专门的模块化工具 JAVA最为权威的模块化工具是什么? 2018/10/25
  • 25. OSGI介绍2018/10/25OSGI是目前最为权威的模块化框架 OSGI特点: 动态加载 版本化,多版本共存 懒加载 严格的模块依赖
  • 26. OSGI适用性2018/10/25功能型而非数据型项目 大型而非小型项目
  • 27. 结束27Thanks!