it-swarm-eu.dev

Jaký je rozdíl mezi vrstvami a vrstvami?

Jaký je rozdíl mezi vrstvami a vrstvami?

193
cretzel

Logické vrstvy jsou pouze způsobem Organizování kódu. Typické vrstvy Zahrnují Prezentaci, Obchod a Data - stejně jako tradiční 3-vrstvý model. Když ale mluvíme o vrstvách , Mluvíme pouze o logické organizaci kódu . V žádném případě to neznamená, že tyto vrstvy Mohou běžet na různých počítačích nebo v Různých procesech na jednom počítači nebo dokonce v jediném procesu na jednom počítači. Jediné, co děláme, je diskutovat o způsobu uspořádání kódu Do sady vrstev definovaných specifickou funkcí .

Fyzické vrstvy jsou však pouze asi , Kde kód běží. Konkrétně, úrovně Jsou místa, kde jsou vrstvy Rozmístěny a kde vrstvy běží. V Jiných slovech, vrstvy jsou fyzické nasazení vrstev.

Zdroj: Rockford Lhotka, Měly by být všechny aplikace n-tier?

231
Panos

Přečtěte si příspěvek Scotta Hanselmana na toto téma: http://www.hanselman.com/blog/AReminderOnThreeMultiTierLayerArchitekturaDesignBroughtToYouByMyLateNightFrustrations.aspx

Pamatujte si však, že v "Scott World" (což je snad i váš svět :)) "Tier" je jednotka nasazení, zatímco "Vrstva" je logické oddělení odpovědnosti v rámci kódu. Můžete říci, že máte "3-vrstvý" systém, ale běžte jej na jednom notebooku. Můžete říct, že máte "3-vrstvý" systém, ale mají pouze stránky ASP.NET, které mluví s databází. Přesnost má sílu, přátelé.

40
Josh

Vrstvy odkazují na logické oddělení kódu. Logické vrstvy vám pomohou lépe organizovat kód. Například aplikace může mít následující vrstvy.

1) Prezentační vrstva nebo vrstva uživatelského rozhraní 2) Vrstva obchodní vrstvy nebo obchodní logiky 3) Vrstva přístupu k datům nebo datová vrstva

Na třech vrstvách sídlí ve vlastních projektech, mohou to být 3 projekty nebo ještě více. Při kompilaci projektů získáme odpovídající vrstvu DLL. Takže máme nyní 3 DLL.

V závislosti na způsobu nasazení naší aplikace můžeme mít 1 až 3 úrovně. Jak teď máme 3 DLL, pokud nasadíme všechny DLL na stejném počítači, pak máme pouze 1 fyzickou vrstvu, ale 3 logické vrstvy.

Pokud se rozhodneme nasadit každý DLL na samostatném počítači, pak máme 3 vrstvy a 3 vrstvy.

Vrstvy jsou logickým oddělením a vrstvy jsou fyzickým oddělením. Můžeme také říci, že vrstvy jsou fyzické nasazení vrstev.

27
Satish

Proč se vždy snažíte použít složitá slova?

Layer = část vašeho kódu, pokud je vaše aplikace dort, jedná se o řez.

A tier = fyzický stroj, server. 

Vrstva hostí jednu nebo více vrstev.


Příklad vrstev:

  • Prezentační vrstva = obvykle veškerý kód vztahující se k uživatelskému rozhraní
  • Vrstva Data Access = veškerý kód vztahující se k vašemu přístupu k databázi

Úroveň:

Váš kód je hostován na serveru = Váš kód je hostován na úrovni.

Váš kód je hostován na 2 serverech = Váš kód je hostován na 2 úrovních.

Například jeden počítač hostující samotný webový server (vrstva Presentation), další počítač více zabezpečený hosting, tím více bezpečnostně citlivého kódu (reálný obchodní kód - obchodní vrstva, vrstva pro přístup k databázi atd.).


Existuje mnoho výhod pro implementaci vrstvené architektury. To je složité a řádné provádění vrstvené aplikace vyžaduje určitý čas. Pokud máte nějaké, podívejte se na tento příspěvek od společnosti Microsoft: http://msdn.Microsoft.com/en-gb/library/ee658109.aspx

22
andrew

Našel jsem definici, která říká, že vrstvy jsou logickým oddělením a úrovně jsou fyzickým oddělením.

11
cretzel
  1. V prosté angličtině, Tier se odkazuje na “každý v sérii řad nebo úrovní struktury umístil jeden nad druhým” zatímco Layer se odkazuje na “list, množství, nebo tloušťka materiálu, typicky jeden z několika, pokrývat povrch. nebo tělo “.
  2. Tier je fyzická jednotka, kde kód/proces běží. Např .: klient, aplikační server, databázový server;

    Vrstva je logická jednotka, jak organizovat kód. Např .: prezentace (zobrazení), řadič, modely, úložiště, přístup k datům.

  3. Úrovně představují fyzickou separaci funkcí prezentace, obchodu, služeb a dat vašeho návrhu napříč jednotlivými počítači a systémy. 

    Vrstvy jsou logické seskupení softwarových komponent, které tvoří aplikaci nebo službu. Pomáhají rozlišovat mezi různými druhy úkolů prováděných komponentami, což usnadňuje vytváření návrhu, který podporuje opakované použití komponent. Každá logická vrstva obsahuje řadu diskrétních typů komponent seskupených do podvrstev, přičemž každá podvrstva provádí určitý typ úlohy. 

Dvouúrovňový vzor představuje klienta a server.

V tomto scénáři může klient a server existovat ve stejném počítači nebo mohou být umístěny na dvou různých počítačích. Obrázek níže znázorňuje běžný scénář webové aplikace, kde klient komunikuje s webovým serverem umístěným v klientské vrstvě. Tato vrstva obsahuje logiku prezentační vrstvy a jakoukoliv požadovanou logiku obchodní vrstvy. Webová aplikace komunikuje se samostatným počítačem, který hostí databázovou vrstvu, která obsahuje logiku datové vrstvy.

Layers vs Tiers

Výhody vrstev a vrstev:

  • Vrstvy vám pomáhají maximalizovat udržovatelnost kódu, optimalizovat Způsob, jakým aplikace pracuje při nasazení různými způsoby, A poskytují jasné vymezení mezi místy, kde určitá technologie nebo design rozhodnutí.

  • Umístění vrstev na samostatné fyzické vrstvy může pomoci výkonu Distribucí zatížení přes více serverů. To může také pomoci S bezpečností tím, že rozdělí citlivější komponenty a vrstvy Do různých sítí nebo na internetu versus intranet.

Aplikace typu 1-Tier může být 3-vrstvá aplikace.

8
TryinHard

Vrstvy používám k popisu architekta nebo technologického zásobníku v rámci komponenty mých řešení. Používám vrstvy k logickému seskupení těchto komponent typicky, když je zapojena síťová nebo interprocesová komunikace.

4
Brian Matthews

Ano, moji milí přátelé řekli správně. Vrstva je logická oblast aplikace, zatímco vrstva je fyzické rozdělení systémového oddílu Vrstvy závisí na vrstvové oblasti. Stejně jako aplikace prováděná na jediném počítači, ale následuje 3 vrstvovou architekturu, můžeme říci, že architektura vrstev by mohla existovat v architektuře vrstvy. že je to 1 vrstvá architektura. Pokud implementujeme každou vrstvu na samostatném počítači, pak se jedná o 3-vrstvou architekturu nazvanou . Vrstva může také spustit několik vrstev. V komponentě související s architekturou vrstvy lze snadno komunikovat.
Stejně jako v níže uvedené architektuře 

  1. prezentační vrstva
  2. vrstva obchodní logiky
  3. vrstva pro přístup k datům

Klient by mohl komunikovat s „prezentační vrstvou“, ale z bezpečnostních důvodů přistupuje k veřejné složce pod vrstvou (jako veřejná komponenta vrstvy obchodní logiky) do „vrstvy obchodní logiky“.
Q * proč používáme architekturu vrstev? Protože pokud implementujeme architekturu vrstev, zvýšíme efektivitu aplikací, 

==> zabezpečení 

==> spravovatelnost 

==> škálovatelnost

jiné potřeby, jako je po vývoji aplikace musíme změnit dbms nebo změnit obchodní logiku atd. pak je nutné, aby všichni.

Q * proč používáme architekturu vrstvy? 

protože fyzicky implementace každé vrstvy poskytuje lepší efektivitu, bez vrstvy architektury nemůžeme realizovat architekturu vrstvy. Samostatný stroj pro implementaci oddělené vrstvy a separátní vrstvy je implementován jednou nebo více vrstvami, proto jej používáme.
používá pro účely odolnosti proti chybám ==> snadno se udržuje.

Jednoduchý příklad

Stejně jako banka otevřená v komoře, ve které kategorie zaměstnanec:

  1. brána 
  2. osobě za hotovost
  3. osoba, která je odpovědná za zavedení bankovního systému
  4. manažer

všechny jsou související komponenty systému.

Pokud půjdeme do banky za účelem úvěru, pak nejprve vrátný vrátí dveře s úsměvem Poté, co jsme se dostali do blízkosti osoby, která zavádí do všech systémů půjčky poté, co Jedeme do kabiny manažera Poté se konečně vydáme na pokladní pokladnu. Jedná se o vrstvenou architekturu banky.

A co úroveň? Pobočka banky otevřená ve městě, poté v jiném městě, poté v jiném , Ale co je základním požadavkem každé pobočky 

  1. brána
  2. osobě za hotovost
  3. osoba, která je odpovědná za zavedení bankovního systému
  4. manažer

přesně stejný koncept vrstvy a vrstvy.

4
atul

Líbí se mi níže uvedený popis z Microsoft Application Architecture Guide 2

Vrstvy popisují logické seskupení funkcí a komponent v aplikaci; vzhledem k tomu, že úrovně popisují fyzickou distribuci funkčnosti a komponent na samostatných serverech, počítačích, sítích nebo vzdálených umístěních. Ačkoli obě vrstvy a vrstvy používají stejnou sadu jmen (prezentace, obchod, služby a data), nezapomeňte, že pouze vrstvy znamenají fyzické oddělení. 

3
sanjaykumar81

Technicky může být Tier druh minimálního prostředí potřebného pro spuštění kódu.

Např. hypoteticky může být spuštěna 3-vrstvá aplikace

  1. 3 fyzické stroje bez OS.
  2. 1 fyzický stroj se 3 virtuálními počítači bez operačního systému.

    (Jednalo se o třídu (hardwarovou) aplikaci)

  3. 1 fyzický stroj se 3 virtuálními stroji se 3 různými/stejnými OS

    (Jednalo se o třístupňovou aplikaci OS)

  4. 1 fyzický stroj s 1 virtuálním strojem s 1 OS, ale 3 AppServers

    (Jednalo se o aplikaci tří úrovní AppServer)

  5. 1 fyzický stroj s 1 virtuálním strojem s 1 OS s 1 AppServerem, ale 3 DBMS

    (Jednalo se o aplikaci tří úrovní (DBMS))

  6. 1 fyzický stroj s 1 virtuálním strojem s 1 OS s 1 AppServers a 1 DBMS ale 3 Excelem.

    (Jednalo se o aplikaci tří úrovní AppServer)

Sešit aplikace Excel je minimální požadované prostředí pro spuštění kódu VBA.

Tyto 3 sešity mohou sedět na jednom fyzickém počítači nebo více.

Všiml jsem si, že v praxi lidé znamenají "OS Tier", když říkají "Tier" v kontextu popisu aplikace.

To je, pokud aplikace běží na 3 samostatných OS pak jeho 3-Tier aplikace.

Takže pedanticky správný způsob popisující aplikaci by byl

"1-to-3-Tier schopný, běží na 2 Tiers" app.

:)


Vrstvy jsou pouze typy kódů s ohledem na funkční oddělení povinností s aplikací (např. Prezentace, Data, Zabezpečení atd.)

0
Dimitri KOH

Když mluvíte o prezentaci, službě, datech, síťové vrstvě, mluvíte o vrstvách. Když je "nasazujete samostatně", hovoříte o úrovních. 

Tiers je o nasazení. Vezměme to takto: Máme aplikaci, která má frontend vytvořený v Angular, má backend jako MongoDB a střední vrstvu, která spolupůsobí mezi frontendem a backendem. Když je tedy tato aplikace frontendu, databázová aplikace a střední vrstva nasazena samostatně, říkáme, že se jedná o tříúrovňovou aplikaci.

Přínos: Pokud potřebujeme v budoucnu rozšířit náš backend, potřebujeme pouze zmenšit velikost backendu nezávisle a není třeba rozšiřovat frontend.

0
Aarzoo Trehan

Vrstvy jsou koncepční entity a slouží k oddělení funkčnosti softwarového systému z logického hlediska; při implementaci systému tyto vrstvy organizujete různými metodami; v tomto stavu se na ně nevztahujeme jako na vrstvy, ale jako na vrstvy.

0
gst