欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
Java Module System
来自开放百科 - 灰狐
(版本间的差异)
小 (→图集) |
小 (→图集) |
||
第54行: | 第54行: | ||
image:JDK-9-Modules.png|JDK 9 Modules | image:JDK-9-Modules.png|JDK 9 Modules | ||
image:Nuxeo-bundle-component-service.png|Nuxeo模块化 | image:Nuxeo-bundle-component-service.png|Nuxeo模块化 | ||
+ | image:Java9-modules.png|Java9 Modules | ||
+ | image:java9-module-package.png|Module,Package | ||
</gallery> | </gallery> | ||
2021年7月18日 (日) 03:22的最后版本
您可以在Wikipedia上了解到此条目的英文信息 Java Module System Thanks, Wikipedia. |
Modular java,模块化Java,Jigsaw 和 OSGi。
目录 |
[编辑] 规范
- Java Platform Module System: Requirements DRAFT 2
- JSR 376: Java Platform Module System
- JEP 220: Modular Run-Time Images
- JEP 201: Modular Source Code
- JEP 200: The Modular JDK
- JSR 277 and OSGi
[编辑] 模块化模式
- 基本模式(Base Pattern)
- 管理关系(Manage Relationship):设计模块关系。
- 模块重用(Module Reuse):强调模块级别的重用。
- 模块内聚(Cohesive Module):模块的行为应该只服务于一个目的。
- 依赖模式(Dependency Pattern)
- 非循环关系(Acyclic Relationship):模块关系必须是非循环的。
- 等级化模块(Levelize Module):模块关系应该是等级化的。
- 物理分层(Physical Layer):模块关系不应该违反概念上的分层。
- 容器独立(Container Independence):模块应该独立于运行时容器。
- 独立部署(Independent Deployment):模块应该是独立的可部署单元。
- 可用性模式(Usability Pattern)
- 发布接口(Published Interface):使模块的发布接口众所周知。
- 外部配置(External Configuration):模块应该可以在外部进行配置。
- 默认实现(Default Implementation):为模块提供一个默认实现。
- 模块门面(Module Facade):为具有底层实现的细粒度模块创建一个门面,使其成为细粒度模块的一个粗粒度入口。
- 扩展性模式(Extensibility Pattern)
- 抽象化模块(Abstract Module):依赖于模块的抽象元素。
- 实现工厂(Implementation Factory):使用工厂来创建模块的实现类。
- 分离抽象(Separate Abstraction):将抽象与实现它们的类放在各自独立的模块中。
- 通用模式(Utility Pattern)
- 就近异常(Colocate Exception):异常应该接近抛出它们的类或接口。
- 等级化构建(Levelize Build:):按照模块的等级执行构建。
- 测试模块(Test Module):每个模块应该有一个对应的测试模块。
模块化模式来自:《Java应用架构设计:模块化模式与OSGi》
[编辑] 项目
[编辑] 文档
- Project Jigsaw: Under the Hood
- Migrating Java UI Client Apps to the Modular JDK
- Java Components: Solving the Puzzle with Jigsaw and Gradle
- Packaging Java Applications
- Modular Java 幻灯片
[编辑] 图集
[编辑] 链接
分享您的观点