欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2/Agda, C++/Lisp/Haskell
Java Module System
来自开放百科 - 灰狐
				
								
				
				
																
				
				
								
|   | 
您可以在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 幻灯片
 
图集
链接
	分享您的观点