WEB开发网
开发学院软件开发Java 模块化Java简介 阅读

模块化Java简介

 2009-12-21 00:00:00 来源:WEB开发网   
核心提示:在过去几年,Java模块化一直是一个活跃的话题,模块化Java简介,从JSR 277(现已废止)到JSR 291,模块化看起来是Java进化过程中的必经一环,这将引起自动依赖管理器引入许多并非必须的类库:以Log4J-1.2.15为例,引入了超过10个依赖类库(包括javax.mail和javax.jms),即便是基于

在过去几年,Java模块化一直是一个活跃的话题。从JSR 277(现已废止)到JSR 291,模块化看起来是Java进化过程中的必经一环。即便是基于JVM的未来语言,比如Scala,也考虑了模块化的问题。本文是关于模块化Java系列文章中的第一篇,讨论模块化的含义,以及为什么要关注它。

什么是模块化?

模块化是个一般概念,这一概念也适用于软件开发,可以让软件按模块单独开发,各模块通常都用一个标准化的接口来进行通信。实际上,除了规模大小有区别外,面向对象语言中对象之间的关注点分离与模块化的概念基本一致。通常,把系统划分外多个模块有助于将耦合减至最低,让代码维护更加简单。

Java语言并不是按照模块化思想设计的(除了package,按照Java语言规范introduction一节的介绍,package类似于Modula-3模块),但是在Java社区依然有很多实际存在的模块。任何一个Java类库实际上都是一个模块,无论其是Log4J、Hibernate还是Tomcat。通常,开源和非开源的应用都会依赖于一个或多个外部类库,而这种依赖关系又有可能传递到其他类库上。

类库也是模块

类库毫无疑问也是模块。对于类库来讲,可能没有一个单一接口与之通信,但往往却有‘public’ API(可能被用到)和‘private’ package(文档中说明了其用途)。此外,它们也有自己依赖的类库(比如JMX或JMS)。这将引起自动依赖管理器引入许多并非必须的类库:以Log4J-1.2.15为例,引入了超过10个依赖类库(包括javax.mail和javax.jms),尽管这些类库中有不少对于使用Log4J的程序来说根本不需要。

1 2 3 4 5 6  下一页

Tags:模块化 Java 简介

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接