类VS包VS模块VS部件VS容器VS服务VS在Java世界平台[关闭](Class vs packa

2019-07-03 11:26发布

我是新手,Java世界(7岁低水平纯C的)。

当我开始阅读与Java相关的网站:

  • http://wiki.apidesign.org/wiki/Main_Page
  • http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/

我困惑现有术语:

  • 零件
  • 容器
  • 服务
  • 骨架
  • 平台

我发现很多资源约条款的定义(以及更多):

  • 框架与工具包与图书馆
  • 框架和容器之间的区别是什么?
  • 什么是Java容器
  • 一个Java容器的定义
  • http://martinfowler.com/articles/injection.html (控制容器的反转和依赖注入图案)
  • http://www.cafeaulait.org/course/week8/36.html (什么是AWT容器?)
  • http://en.wikipedia.org/wiki/Web_container
  • http://netbeans.org/features/platform/ (NetBeans平台)
  • 什么是“应用程序框架”是什么意思?
  • 什么是软件架构?
  • 是什么框架和图书馆之间的区别?
  • 什么是一个类库和框架之间的区别
  • https://stackoverflow.com/questions/11576018/what-is-the-difference-between-a-javascript-framework-and-a-library
  • 是什么框架和工具之间的主要区别?
  • http://blog.orderharmony.com/2011/07/libraries-vs-frameworks.html
  • http://www.javacodegeeks.com/2012/04/frameworks-vs-libraries-as-inheritance.html
  • 库,平台和框架之间的区别是什么?
  • 是什么平台和框架之间的区别?
  • 什么是一个框架和平台之间的区别
  • 一个模块,库和框架之间的区别

但这些资源的定义他们自己的目的,我仍然不能明显的从组件一般情况下,例如模块。

请解释在大画面这些术语的意思是什么(可以是单级的平台,需要什么样的模块数量,使容器等)。

UPDATE 2019 https://www.artima.com/lejava/articles/reuse3.html (我的高亮)

比尔 :什么是一个框架,一个平台和工具之间的差异,有哪些不同的灵活性需求?

埃里希·伽玛 :一个平台长期稳定性相关联。 它是安全的,建立在一个平台之上。 一个平台,使兼容性保证。 框架往往不具备这种素质,我已经看到了关于稳定性 许多框架故障。 如果你看一下Eclipse的,是的,它包括框架,工具包,并提供平台的API。 所有这一切都被捆绑作为插件。 抽象的框架,并提供更高级别的默认功能 。 要做到这一点的框架需要在控制 。 这种控制权的丢失会导致有时被称为frameworkitis。

比尔 :和工具包,不要因为...

埃里希·伽玛 :用工具包 创建并调用工具包对象和注册听众对事件作出反应 。 你在控制框架试图在控制和告诉你什么时候做什么 。 一个工具包为您提供了基石 ,但它留下高达你是在控制。

另一个报价回答我幼稚的问题有多少类的东西做了一个框架:

https://www.artima.com/lejava/articles/reuse.html

埃里希·伽玛 :... JUnit是一个小的框架,例如。 它是框架的“你好,世界”。 你有TestTestCaseTestSuite和关系定义。 此外,您通过继承某个地方钩到框架。 他们使用的所谓的好莱坞原则“不要打电话给我们,我们会打电话给你。” 该框架允许您定义定制行为,它会叫你回来的时候轮到你做一些事情。 同样使用JUnit,对不对? 它要求你回来时,它要执行一个测试你,但其余的框架来完成。

Answer 1:

class类是用于在基于类的面向对象的编程对象的蓝图; 你应该学会OOP的基本知识和理解的对象是什么,一类是什么,什么是继承,多态,学习别的关于Java之前封装。

package包是一个命名空间; 它让你处理命名冲突。 基本上,它可以让你有一个名为员工两班,如果他们在不同的包。

module它可能是指的方式,Java库的分配和使用- JAR,WAR,EAR。

component可以被视为基类GUI的AWT(或JComponent的在Swing),也可以被看作是一种类型的EJB -一个POJO(普通Java对象),以满足一些要求; 它可能具有其他含义取决于上下文。

container在企业应用中,你明明使用一些库和Java EE最终; 有关Java EE库的事情是,它只是提供了API接口,而不是实现。 然后,你写和内置应用程序部署到一个container里面自带了Java EE API的实现服务器。 有两种类型的容器:Web容器(仅涉及到实现网络的具体技术)和完整的Java EE容器(自带实现Web和其他Java EE技术 - 命名服务,持久性,事务等)。

service没有在Java中没有特殊含义。 它可能与网络服务基本上提供了网络进程间通信的一个高层次的方法。

platform目前在Java中没有任何特殊含义; 它可以被看作是潜在的开发平台(Windows,Linux)或与云趋势,它可能是指以平台作为一种服务,其中云服务提供商自带的基础设施和其他基础软件(操作系统,数据库,容器)。



Answer 2:

  • 类:
    它是具有.java扩展正常的java文件和包含所有对象,方法或等所必需的使应用和还实现或从其他文件扩展其他对象或方法。

  • 包装:这是一堆类(的.java)文件是由它们的功能或他们的名字分开。 所以它也有助于命名。

  • 模块:大型应用通常内置在几个部分,它们更紧密地彼此连接,而不是外部。 因此,一个想给这些部件彼此更获得比外界有。 有人可能还希望这些部件在系统中的多点重复使用而不必担心共享数据的同步。 这部分被称为在Java模块。 WAR,JAR等被称为java语言模块。

  • 组件:组件是一个更大的程序或结构的可识别的部分。 通常,一个部件提供特定功能或相关的功能基团。 在面向对象的编程和分布式对象技术,组件是可重复使用的程序构建块,能够与在分布式网络中相同或其他计算机的其他组件相结合以形成一个应用程序。 A组分一个称为容器上下文中运行。

  • 集装箱:A组分一个叫做container.The容器上下文中运行的是基于Java的Java EE技术的Web应用程序的重要组成部分。 它负责保持在服务器端的独立组件,其中包括Java servlet为,Java服务器页面(JSP)和Java服务器的脸(JSF)。 如何将提供的服务和访问由一个合同,这是Web应用程序和容器之间的协议确定的。 这提供了相当数量的在Java EE架构安全的,因为客户端应用程序不知道容器的存在,因此不能直接访问。 因此,Web容器负责初始化Web应用程序组件和调用上的组件的客户端请求。

  • 服务:服务是基于所述请求/应答设计范例同步和异步应用分布式计算的演进。 应用程序的业务逻辑或个别功能模块化并作为消费者/客户端应用程序服务。

  • 框架:框架强加一个明确的结构,在使用它们的代码,而库没有。 在软件方面,框架已经建立形成基础的可重复使用的应用软件程序。 框架可以帮助程序员快速构建应用程序。 以前它是很难开发复杂的Web应用程序。 现在,它很容易开发使用不同类型的框架,如Struts,Struts 2中,休眠,JSF,春节等这样的应用

  • 平台:平台是指从太阳整个Java开发和执行环境 Java程序是由驻留在目标计算机上运行时引擎(Java虚拟机)执行。 由于Java包含它自己的运行环境,它已被冠以对比的是,一旦编译其它编程语言,由自己经营的是“平台”。 请参阅Java,Java的2,Java虚拟机和Java运行时环境。



文章来源: Class vs package vs module vs component vs container vs service vs platform in Java world [closed]