Java Module System

来自开放百科 - 灰狐
(版本间的差异)
跳转到: 导航, 搜索
(图集)
 
(未显示1个用户的14个中间版本)
第1行: 第1行:
 
{{SeeWikipedia}}
 
{{SeeWikipedia}}
  
JSR 277 and [[OSGi]] http://www.osgi.org/blog/2006/10/jsr-277-review.html
+
Modular java,模块化[[Java]],Jigsaw 和 [[OSGi]]
  
[[Category:OSGi]]
+
==规范==
 +
*[http://openjdk.java.net/projects/jigsaw/spec/reqs/02 Java Platform Module System: Requirements DRAFT 2]
 +
*[http://openjdk.java.net/projects/jigsaw/spec JSR 376: Java Platform Module System]
 +
*[http://openjdk.java.net/jeps/220 JEP 220: Modular Run-Time Images]
 +
*[http://openjdk.java.net/jeps/201 JEP 201: Modular Source Code]
 +
*[http://openjdk.java.net/jeps/200 JEP 200: The Modular JDK]
 +
*[http://www.osgi.org/blog/2006/10/jsr-277-review.html 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):每个模块应该有一个对应的测试模块。
 +
模块化模式来自:[https://www.amazon.cn/%E5%9B%BE%E4%B9%A6/dp/B00F9O79X8 《Java应用架构设计:模块化模式与OSGi》]
 +
 
 +
==项目==
 +
*[[Project Jigsaw]]
 +
*[[OSGi]]
 +
*[https://github.com/jboss-modules/jboss-modules JBoss Modules]
 +
 
 +
==文档==
 +
*[http://docs.huihoo.com/javaone/2015/CON6823-Project-Jigsaw-Under-the-Hood.pdf Project Jigsaw: Under the Hood]
 +
*[http://docs.huihoo.com/javaone/2015/CON4384-Migrating-Java-UI-Client-Apps-to-the-Modular-JDK.pdf Migrating Java UI Client Apps to the Modular JDK]
 +
*[http://docs.huihoo.com/javaone/2015/CON10063-Java-Components-Solving-the-Puzzle-with-Jigsaw-and-Gradle.pdf Java Components: Solving the Puzzle with Jigsaw and Gradle]
 +
*[http://docs.huihoo.com/javaone/2015/CON3467-Packaging-Java-Applications.pdf Packaging Java Applications]
 +
*[http://docs.huihoo.com/apache/apachecon/us2011/11-Friday/A-Modular-Java/ Modular Java 幻灯片]
 +
 
 +
==图集==
 +
<gallery>
 +
image:jdk-module-graph.png|JDK Module
 +
image:JDK-9-Modules.png|JDK 9 Modules
 +
image:Nuxeo-bundle-component-service.png|Nuxeo模块化
 +
image:Java9-modules.png|Java9 Modules
 +
image:java9-module-package.png|Module,Package
 +
</gallery>
 +
 
 +
==链接==
 +
*[http://www.infoq.com/cn/articles/modular-java-what-is-it 模块化Java简介]
 +
*[http://www.infoq.com/cn/news/2015/03/java9-and-beyond Mark Reinhold谈“Java9及其未来”]
 +
*[http://openjdk.java.net/projects/jigsaw/ Project Jigsaw]
 +
 
 +
[[category:package]]
 +
[[category:java]]
 +
[[category:OSGi]]

2021年7月18日 (日) 03:22的最后版本

Wikipedia-35x35.png 您可以在Wikipedia上了解到此条目的英文信息 Java Module System Thanks, Wikipedia.

Modular java,模块化Java,Jigsaw 和 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》

[编辑] 项目

[编辑] 文档

[编辑] 图集

[编辑] 链接

分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱