第二章 模块化的两方面
模块化的两方面:运行时模型和开发模型。
2.1运行时模型:是关注如何在运行时对模块化的软件系统进行管理。在java平台中,模块化的系统事实标准是OSGI,很多应用应用平台借助OSGi运行时的能力增强模块化。直到现在众多使用平台内部封装OSGi却选择对企业级开发人员隐藏,所以开发人员无法构建充分利用模块化运行环境的应用程序。
2.2 开发模型:解决的问题是开发人员怎样使用框架构架软件应用。开发模型可以分为两类:编辑模型和设计范式。
2.2.1 编辑模型:利用框架和工具,开发人员可以使用运行时模块系统的能力,而不用担心编程模型。框架封装了对API的依赖,这样代码就不用直接和API交互了,通过这些关注点分离能够让java类依旧简单旧式java对象,他们不会依赖模块系统的框架。
2.2.2设计模式:设计范式的几个实例如:面向对象(OO)编程以及企业级JavaBean(Enterprise JavaBean ,EJB) 。
面向对象作为可重用的基础,类的粒度大小。开发团队很难的正确的把握和使用面向对象的理念。叫深层次结构的继承及包含太多功能的基类会导致设计不佳和脆弱的软件系统。总之,面向对象开发过早地失效了。面向对象编程语言的运行时功能提供了如多态,动态绑定等特性,开发人员可以很容易地理解编程模型中的很多方面。如今被视为面向对象技术的简单事实(“ 优先使用对象组合而不是对象继承”以及“面向接口编程而不是实现”)。
企业级 java Bean 尤其是其中的实体bean,曾呗视为将java开发的业务应用进行组件化的一种方式。EJB的运行时能力是很吸引力的——事务、持久为、安全性、透明等——并且直接合并到平台中,不过两个很明显的问题:开发模式的复杂并且无法很好的理解。
吸取的教训:面向对象的程序设计和EJB都曾经被视为有前途的技术,但事实证明,他们并没有达到期初所炒作的那样。问题不在于面向对象编程语言或实现EJB规范的平台,而在于我们怎么样使用这些技术设计应用。最大的挑战是关于设计规范的。
注意:运行时模块化系统通常会支持一下几个功能:
- 封装:包中任何公开类只要在类路径下就能被类路径下的其他类访问。所有的事情都是全局性的,这阻碍了模块化设计。运行时模块化系统提供了隐藏实现细节的能力。
- 动态部署:在标准的java中更新软件通常需要重新启动JVM。运行时模块系统支持热部署。
- 版本管理:在标准的java中,不能为一个类部署多个版本。模块化的系统允许部署多个版本。
- 依赖管理:在标准的java中,没有实现模块的依赖结构。像Maven这样的构建工具试图通过描述依赖关系的JAR文件仓库解决这个问题。运行时模块系统可以实现运行时的依赖管理。
相关推荐
Java应用架构设计是软件开发中的核心议题,尤其是在大型企业级项目中,良好的架构设计能够确保系统的可扩展性、可维护性和高效性。本主题聚焦于模块化模式与OSGi(Open Services Gateway Initiative)在Java应用架构...
Java应用架构设计中,模块化模式与OSGi是两个关键概念,它们对于构建大型、可扩展且易于维护的系统至关重要。模块化模式使得代码组织更加有序,而OSGi(Open Services Gateway Initiative)则是一种实现模块化的动态...
Java应用架构设计中,模块化模式与OSGi是两种重要的技术,它们对于构建大型、可扩展且易于维护的系统起着关键作用。本篇将深入探讨这两个概念,以及它们如何协同工作来提升Java应用程序的效率和灵活性。 首先,模块...
此版本有章节一级的目录,就是说只有点击章节才会跳转。
Java应用架构设计、 如何进行模块化模式、与OSGi有什么联系?
《Java应用架构设计-模块化模式与OSGi》是一本由Kirk著、张卫滨翻译的书籍,它深入探讨了在Java环境中如何构建可扩展、可维护的大型应用程序。书中的源码提供了丰富的实例,帮助读者理解并实践模块化模式和OSGi...
首先,Java应用架构设计中的模块化模式是一种组织代码的方式,它通过将应用程序分解为独立的、可重用的模块来提高可维护性和可扩展性。模块化设计通常遵循单一职责原则,确保每个模块都有明确的功能划分,减少模块间...
读书笔记:《Java应用架构设计模块化模式与OSGi》源代码
《Java应用架构设计:模块化模式与OSGi》是一本深入探讨Java应用程序架构设计的书籍,其中涵盖了如何通过模块化模式和OSGi(Open Service Gateway Initiative)技术来构建可扩展、可维护的软件系统。书中的源代码是...
Java架构设计示例文档涉及的知识点众多,通常它旨在为读者提供一个关于如何设计高效、可扩展和可维护的Java应用架构的参考。文档可能包含以下几个核心部分:需求分析、系统设计、技术选型、模块划分、接口设计、安全...
Java分布式架构设计实战课程是2022年最新的学习资源,涵盖了从基础到高级的全方位内容,旨在帮助开发者深入理解并掌握Java在分布式系统中的应用。这套课程共有13个章节,每个章节都针对特定的分布式架构技术或概念...
【Java系统软件技术架构设计方案】 本方案主要探讨的是基于Java技术的系统软件设计,旨在创建一个既能创造客户价值又能提供良好用户体验的软件产品。设计理念上,公司着重于用户友好性和功能实用性,兼顾成本控制、...
### Java系统软件技术架构设计方案分析 #### 设计理念与目标 根据提供的文档信息,“xxx系统”的设计理念在于同时创造客户价值并提供优秀的用户体验。“xxx公司”致力于确保产品既符合用户的使用习惯,又能满足...
Java设计模式和架构图是软件开发中的重要概念,它们对于构建高效、可维护的系统至关重要。设计模式是解决常见编程问题的经验总结,而架构图则是系统结构的可视化表示,帮助我们理解和规划系统的整体布局。 首先,...
三本书分别关注大型分布式网站架构设计、大型网站系统与Java中间件的实践以及分布式Java应用的基础与实践,它们是深入理解并掌握Java在大规模系统中的应用的关键资源。 首先,"大型分布式网站架构设计"这部分内容会...
### JAVA架构设计原则 #### 基本原则 在探讨JAVA架构设计时,有几个核心原则是必不可少的: 1. **分层原则**:这一原则强调通过分层来降低软件的复杂性。它将整个系统划分为不同的逻辑层级,每一层都承担特定的...
Java互联网架构师是一个涵盖广泛领域的专业角色,这个角色需要深入理解软件开发的各个方面,特别是针对大规模、高并发的互联网应用。本课程集成了多种关键知识点,旨在帮助在职Java工程师提升技能,迈向架构师之路。...
英文版的"JAVA软件架构设计模式"文档可能包含了对这些模式的深入解释,旨在帮助开发者理解和应用它们。 首先,设计模式分为三类:创建型、结构型和行为型。创建型模式关注对象的创建,如单例模式(Singleton)、...