2012-10-31 29 views
37

Jestem początkującym w świecie Java (7 lat niskiego poziomu zwykłego C).Klasa vs pakiet vs moduł vs komponent vs kontener kontra serwis vs platforma w świecie Java

Kiedy zacząłem czytać Java związanych strony:

I mylone przez istniejącej terminologii:

  • klasy
  • pakietu
  • moduł
  • komponent
  • pojemnik
  • serwis
  • ramy
  • platforma

znalazłem wiele zasobów O nas definicji (i wiele więcej):

ale każdy z tych zasobów definiuje je dla własnego celu i nadal nie mogę odróżnić na przykład modułu od komponentu w ogólnym przypadku.

Proszę wyjaśnić, co oznacza te warunki w dużym obrazie (może to być platforma klasy pojedynczej, jaka ilość modułów jest wymagana do utworzenia kontenera itp.).

+9

Hej! Zatrzymaj zamykanie)) – gavenkoa

+1

Przestań próbować zrozumieć i zacząć robić. Zacznij od samouczków w Javie, a odpowiesz domyślnie na niektóre pytania. Reszta stanie się jasna dzięki doświadczeniu – Romski

+1

Czy próbujesz zrozumieć cały świat java i całą jego terminologię bez konkretnego projektu i bez pisania pojedynczej linii kodu Java? Czy próbowałeś najpierw zapoznać się z samouczkami Oracle Java? –

Odpowiedz

36

class Klasa jest planem tworzenia obiektów w obiektowym programowaniu opartym na klasach; powinieneś nauczyć się podstaw OOP i zrozumieć czym jest obiekt, czym jest klasa, co to jest dziedziczenie, polimorfizm, hermetyzacja przed poznaniem czegokolwiek na temat Javy.

package Pakiet to przestrzeń nazw; pozwala ci radzić sobie z konfliktami nazw. Zasadniczo pozwala ci mieć dwie klasy o nazwie Pracownik, jeśli są w różnych pakietach.

module To prawdopodobnie odnosi się do sposobu, w jaki biblioteki Java są rozprowadzane i używane - JAR, WAR, EAR.

component Może być uważany za klasę bazową GUI w AWT (lub JComponent w Swing) lub może być postrzegany jako typ EJB - POJO (Plain Old Java Object), który spełnia pewne wymagania; możliwe jest posiadanie innych znaczeń i zależy od kontekstu.

container W aplikacji dla przedsiębiorstw oczywiście używasz niektórych bibliotek i Java EE ostatecznie; rzecz o bibliotece Java EE polega na tym, że zapewnia jedynie interfejs API, a nie implementację. Następnie aplikacja, którą napisałeś i zbudowałeś, jest wdrażana na serwerze container dostarczanym wraz z implementacją API Java EE. Istnieją dwa rodzaje kontenerów: kontenery internetowe (przychodzi tylko do implementacji technologii sieciowych) i pełne kontenery Java EE (dostarczana jest implementacja sieci i innych technologii Java EE - usługi nazewnictwa, trwałość, transakcje itp.).

service Nie ma specjalnego znaczenia w Javie. Może to być związane z usługami sieciowymi, które zasadniczo zapewniają wysokopoziomowe podejście do komunikacji między procesami w sieci.

platform Nie ma specjalnego znaczenia w Javie; może być postrzegana jako leżąca u podstaw platforma programistyczna (Windows, Linux) lub z trendem w chmurze może odnosić się do Platform-as-a-Service, w której dostawca chmury posiada infrastrukturę i inne podstawowe oprogramowanie (system operacyjny, bazę danych, kontener).

+0

Wygląda więc na to, że twórcy bibliotek lub frameworka mogą wywołać ** kontener ** jako zestaw powiązanych ** modułów **? – gavenkoa

+1

Niezupełnie; Kontener może być postrzegany jako system, który jest dostarczany wraz z implementacją dla niektórych API (i innych urządzeń specyficznych dla danego dostawcy).Zwykle wiąże się to z transakcją, synchronizacją, utrwalaniem i innymi udogodnieniami, umożliwiając programistom obsługę tylko logiki biznesowej. – m3th0dman

+0

Dzięki za odpowiedź! – gavenkoa

27
  • Klasa:
    to normalny plik java, który ma rozszerzenie .java i że zawiera wszystkie obiektu, metody lub itp, które są konieczne, aby wniosek, a także wdraża lub rozciąga się inny obiekt lub metody z innego pliku .

  • Opakowanie: Jest grono pliku klasy (.java), które jest oddzielone od ich funkcji lub ich imieniu. więc jest to także pomoc w nazewnictwie.

  • Moduł: Duże aplikacje są zwykle zbudowane z kilku części, które są bardziej ściśle połączonych ze sobą niż na zewnątrz. Dlatego chciałbyś, aby te części miały większy dostęp do siebie nawzajem niż świat zewnętrzny. Można również chcieć wykorzystać te części w wielu punktach systemu, nie martwiąc się o synchronizację udostępnianych danych. ta część nazywa się moduł w java. WAR, jar itp są nazywane modułem w języku Java.

  • Składnik: Składnik jest rozpoznawalne część większego programu lub konstrukcji. Zwykle komponent zapewnia określoną funkcję lub grupę powiązanych funkcji. W programowaniu obiektowym i technologii obiektów rozproszonych komponent jest konstrukcyjnym blokiem programowym wielokrotnego użytku, który można łączyć z innymi komponentami tego samego lub innego komputera w sieci rozproszonej w celu utworzenia aplikacji. Komponent działa w kontekście nazywanym kontenerem.

  • opakowaniu: Składnik działa w kontekście nazywa się pojemnik container.The jest ważnym składnikiem aplikacji internetowych w technologii Java opartych na Java EE. Jest odpowiedzialny za utrzymanie poszczególnych komponentów po stronie serwera, w tym serwletów Java, stron serwera Java (JSP) i ścian Javy (JSF). Sposób świadczenia i dostępu do usług jest określony umową, która jest umową między aplikacją internetową a kontenerem. Zapewnia to znaczną część zabezpieczeń w środowisku Java EE, ponieważ aplikacje klienckie nie są świadome istnienia kontenera i dlatego nie można uzyskać do niego bezpośredniego dostępu. Dlatego kontener WWW jest odpowiedzialny za inicjowanie składników aplikacji WWW i wywoływanie żądań klientów na komponentach.

  • Usługa: Service jest ewolucja rozproszonego opartego na żądanie/odpowiedź paradygmat projektowania aplikacji synchronicznych i asynchronicznych. Logika biznesowa aplikacji lub poszczególne funkcje są modularyzowane i prezentowane jako usługi dla aplikacji klientów/klientów.

  • ramowa: Konstrukcje nałożyć określoną strukturę na kodzie, który z nich korzysta, natomiast biblioteki nie. W oprogramowaniu framework jest zbiorem oprogramowania do wielokrotnego użytku, które stanowi podstawę dla aplikacji. Ramy pomagają programistom szybko zbudować aplikację. Wcześniej bardzo trudno było opracować złożone aplikacje internetowe. Teraz jej bardzo łatwy do opracowania takiej aplikacji przy użyciu różnych rodzajów struktur, takich jak rozpórki, Struts 2, Hibernate, JSF, Spring itp

  • Platforma: Platforma odnosi się do całego rozwoju i środowiska wykonawczego Java firmy Sun. Programy Java są wykonywane przez silnik środowiska wykonawczego (wirtualną maszynę Java), który znajduje się na komputerze docelowym. Ponieważ Java zawiera własne środowisko operacyjne, została nazwana "platformą" w przeciwieństwie do innych języków programowania, które po skompilowaniu działają samodzielnie. Patrz Java, Java 2, Java Virtual Machine i Java Runtime Environment.

+0

Dzięki za szczegółową odpowiedź. – gavenkoa

+0

Dobra odpowiedź disha –