Classe vs package vs module vs composant vs conteneur vs service vs plateforme dans le monde Java

Je suis débutant dans le monde de Java (7 ans de niveau C bas).

Lorsque j’ai commencé à lire les sites liés à Java:

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

Je suis confus par la terminologie existante:

  • classe
  • paquet
  • module
  • composant
  • récipient
  • un service
  • cadre
  • Plate-forme

J’ai trouvé beaucoup de ressources sur la définition des termes (et beaucoup plus):

  • Framework vs. Toolkit vs. Bibliothèque
  • Différence entre framework et container?
  • Quels sont les conteneurs en Java
  • Définition d’un conteneur Java
  • http://martinfowler.com/articles/injection.html (Inversion des conteneurs de contrôle et modèle d’dependency injection)
  • http://www.cafeaulait.org/course/week8/36.html (Qu’est-ce qu’un conteneur AWT?)
  • http://en.wikipedia.org/wiki/Web_container
  • http://netbeans.org/features/platform/ (la plate-forme NetBeans)
  • Qu’entend-on par “cadre d’application”?
  • Qu’est-ce qu’un framework logiciel?
  • Quelle est la différence entre un framework et une bibliothèque?
  • Quelle est la différence entre une bibliothèque de classes et un framework
  • Quelle est la différence entre un framework JavaScript et une bibliothèque?
  • Quelle est la principale différence entre un framework et une boîte à outils?
  • http://blog.orderharmony.com/2011/07/libraries-vs-frameworks.html
  • http://www.javacodegeeks.com/2012/04/frameworks-vs-libraries-as-inheritance.html

mais chacune de ces ressources les définit à ses propres fins et je ne peux toujours pas distinguer par exemple le module du composant dans le cas général.

S’il vous plaît expliquer quels moyens de ces termes dans la grande image (peut être une seule classe une plate-forme, quelle quantité de modules est nécessaire pour faire un conteneur, etc.).

    class Une classe est le modèle de création d’objects dans la programmation orientée object basée sur les classes; Vous devez apprendre les bases de la POO et comprendre ce qu’est un object, ce qu’est une classe, ce que sont l’inheritance, le polymorphism, l’encapsulation avant d’apprendre autre chose sur Java.

    package Un package est un espace de nom; cela vous permet de gérer les conflits de noms. Il vous permet essentiellement d’avoir deux classes nommées Employee, si elles sont dans des packages différents.

    module Il fait probablement référence à la manière dont les bibliothèques Java sont dissortingbuées et utilisées – JAR, WAR, EAR.

    component Peut être considéré comme la classe de base de l’interface graphique dans AWT (ou JComponent dans Swing) ou peut être considéré comme un type d’EJB – un object POJO (Plain Old Java Object) répondant à certaines exigences; il est possible d’avoir d’autres significations et dépend du contexte.

    container Dans une application d’entreprise, vous utilisez évidemment certaines bibliothèques et Java EE éventuellement; La chose à propos de la bibliothèque Java EE est qu’elle ne fournit que l’interface API et non l’implémentation. Ensuite, l’application que vous avez écrite et créée est déployée dans un serveur de container fourni avec l’implémentation de l’API Java EE. Il existe deux types de conteneurs: les conteneurs Web (ne concerne que la mise en œuvre de technologies spécifiques au Web) et les conteneurs Java EE complets (livrés avec l’implémentation de technologies Web et Java EE – services de noms, persistance, transactions, etc.).

    service Il n’y a pas de signification particulière en Java. Il peut s’agir de services Web qui fournissent essentiellement une approche de haut niveau d’Inter Process Communication sur le réseau.

    platform Il n’y a pas de signification particulière en Java; Il peut s’agir de la plate-forme de développement sous-jacente (Windows, Linux) ou de la tendance cloud, qui peut désigner Platform-as-a-Service, avec son infrastructure et ses autres logiciels de base (système d’exploitation, firebase database, conteneur).

    • Classe:
      c’est un fichier java normal qui a une extension .java et qui contient tous les objects, méthodes ou etc qui sont nécessaires pour créer une application et qui implémente ou étend un autre object ou une autre méthode à partir d’un autre fichier.

    • Package: C’est un groupe de fichiers de classe (.java) séparés par leur fonction ou leur nom. c’est aussi une aide pour nommer.

    • Module: Les grandes applications sont généralement construites en plusieurs parties, qui sont plus étroitement connectées les unes aux autres qu’à l’extérieur. Par conséquent, on aimerait que ces parties aient plus d’access que le monde extérieur. On peut également souhaiter que ces pièces soient réutilisées à de nombreux points du système sans se soucier de la synchronisation des données partagées. cette partie est appelée module en Java. WAR, jar etc. sont appelés module en langage Java.

    • Composant: Un composant est une partie identifiable d’un programme ou d’une construction plus vaste. Généralement, un composant fournit une fonction particulière ou un groupe de fonctions connexes. Dans la technologie de la programmation orientée object et des objects dissortingbués, un composant est un bloc de programme réutilisable qui peut être combiné avec d’autres composants du même ordinateur ou d’autres ordinateurs d’un réseau dissortingbué pour former une application. Un composant s’exécute dans un contexte appelé conteneur.

    • Conteneur: un composant s’exécute dans un contexte appelé conteneur. Le conteneur est un composant important des applications Web de la technologie Java EE basée sur Java. Il est responsable de la maintenance des composants individuels côté serveur, notamment les servlets Java, les pages de serveur Java (JSP) et les faces de serveur Java (JSF). La façon dont les services seront fournis et accessibles est déterminée par un contrat, qui est un accord entre l’application Web et le conteneur. Cela fournit une sécurité considérable dans l’infrastructure Java EE car les applications clientes ne connaissent pas l’existence du conteneur et ne peuvent donc pas être accédées directement. Ainsi, le conteneur Web est responsable de l’initialisation des composants de l’application Web et de l’appel des requêtes client sur les composants.

    • Service: le service est une évolution de l’informatique dissortingbuée basée sur le paradigme de conception des demandes / réponses pour les applications synchrones et asynchrones. La logique métier ou les fonctions individuelles d’une application sont modularisées et présentées comme des services pour les applications client / client.

    • Framework: les frameworks imposent une structure définie sur le code qui les utilise, contrairement aux bibliothèques. Dans le logiciel, framework est un ensemble de logiciels réutilisables qui constituent la base d’une application. Frameworks aide les programmeurs à créer rapidement l’application. Auparavant, il était très difficile de développer des applications Web complexes. Il est maintenant très facile de développer de telles applications en utilisant différents types de frameworks tels que Struts, Struts 2, Hibernate, JSF, Spring etc.

    • Platform: Platform désigne l’ensemble de l’environnement de développement et d’exécution Java de Sun. Les programmes Java sont exécutés par un moteur d’exécution (la machine virtuelle Java) qui réside sur l’ordinateur cible. Étant donné que Java contient son propre environnement d’exploitation, il a été baptisé «plate-forme» contrairement aux autres langages de programmation qui, une fois compilés, sont exécutés par eux-mêmes. Voir Java, Java 2, Java Virtual Machine et Java Runtime Environment.