Šablona v Javě
Designové vzory pomáhají kodéru psát čistý, efektivní a neopakující se kód s menší vazbou nebo závislostí mezi jednotlivými jednotkami provozu. Kdykoli kodér analyzuje požadavek zobrazený klientem, pak je prvním řešením, o které se má postarat, vhodný návrhový vzorec pro implementaci kódu, na který by se kód později změnil, mohou být také začleněna některá další omezení, pokud má být přidána.
Návrhové vzory jsou vždy vybírány v kontextu škálovatelnosti a čisté implementace.
Šablony volíme, když se je snažíme vyplnit pomocí určitých implementací, které se nazývají šablony.
A v kódovací aréně používáme tato paradigma v následujících obchodních scénářích.
Scénář 1 -
Měli byste navrhnout webové řešení pro šablonu v Javě, kde budete vyzváni k implementaci charakteristických vlastností vozidla, jako je jeho vzorec pro výpočet rychlosti, výpočet točivého momentu atd. Takže pro kolo by to bylo jiné, než co by bylo pro auto, a pokud vidíme z pohledu škálovatelnosti, pak přidáme základní šablonu, která má jen vnější kostru těchto metod souvisejících s výpočtem, a pak jsme právě přidali varianty těchto implementací v našem kódu, a tím vytvořili flexibilní design. Když uvidíme tuto šablonu, pouze uživatel získá představu o funkcích, které nabízíte, a může se těšit pouze v souvisejících třídách.
Scénář 2 -
Dalším případem může být vytvoření společné šablony pro databázové třídy, které se chystáte volat v projektu, možná používáte Oracle, MySQL nebo DB2 a pravděpodobně v různých scénářích kódování, na které se těšíte, že se s nimi v různých případech spojíte času, takže v šabloně můžete vložit uživatelské jméno, heslo, získat vlastnosti připojení atd. a rozšiřující třídy by poskytly podrobnosti implementace, jak hledáte.
Vývojář Java ví, jak implementovat tento druh funkčnosti !! Ano, abstraktní třída je správná odpověď, doufám, že víte, že kdykoli máme scénáře, ve kterých mají být úzce související entity řešeny, vybereme abstraktní třídy (v opačném případě rozhraní také vyřeší náš účel).
Implementace šablony v Javě
1. Vytvořte základní třídu jako abstraktní, která zahrnuje také šablony a abstraktní metody.
2. Metody šablony jsou konečné povahy a poté se nezmění.
3. Abstraktní metody je nutné implementovat prostřednictvím podpory logiky obchodní logiky ve třídách implementace.
4. Metoda by mohla být abstraktem v podřízených třídách, pokud by tam nebyla implementována pouze.
5. Důležitým scénářem je rovněž náležitá péče o zacházení s výjimkami.
6. Správná volba toho, co musí být označeno abstraktem a co nesmí být.
Metody s karoseriemi v základní třídě jsou koncipovány jako konečný typ, protože nemají být potlačeny, stejně jako pro výpočet třídy otáček za minutu mohou být stejné.
Níže jsme definovali příklad založený na šabloně java, který zahrnuje ukázkovou implementaci stejného -
public abstract Vehicle
(
String fuelType;
Int countOfSeats;
public abstract double calcSpeed() throws Exception;
public abstract double calcTorque() throws Exception;
public final void templateMethod()
(
Task1();
Task2();
Task3();
)
public Bike extends Vehicle
(
@Override
public abstract double calcSpeed() throws Exception
(
try
(
return distance/time;
)
Catch(Exception e)
(
System.out.println(e.printStackTrace());
)
)
@Override
public abstract double calcTorque() throws Exception
(
try
(
return radialLength * force;
)
Catch(Exception e)
(
System.out.println(e.printStackTrace());
)
)
)
public car extends Vehicle
(
Int doorCount; // door doesn't exist in all vehicles so has been added here
@Override
public abstract double calcSpeed() throws Exception
(
try
(
return distance/time;
)
Catch(Exception e)
(
System.out.println(e.printStackTrace());
)
)
@Override
public abstract double calcTorque() throws Exception
(
try
(
return radialLength * force;
)
Catch(Exception e)
(
System.out.println(e.printStackTrace());
)
)
)
Můžete použít eclipse nebo jiné online kompilační platformy ke kontrole této implementace pomocí vlastních implementací.
Systémové požadavky před kódem
1. Přednostně se instaluje Java 8.
2. Systémové proměnné musí být správně nakonfigurovány pro JRE.
3. Vyžaduje se také IDE jako zatmění, které automaticky kontroluje syntaktické chyby.
4. Ladění pouze s IDE.
5. Pluginy pro analýzu návrhu šablony.
6. Nástroje pro přiřazení diagramu tříd k poznání vyšší úrovně dědičnosti mezi třídami, které jste vytvořili při implementaci vzorového návrhu šablony.
7. Všechna okna, Linux nebo MAC by splnily váš úkol.
Výhody šablony v Javě
- Zabraňuje duplicitě kódu, protože obecné věci mohou být implementovány pouze v abstraktní třídě, potřebné variace mohou být implementovány do podtříd.
- Proměnné vzorce lze implementovat do podtříd na základě dědičnosti vztahu implementace. Tento proces se nazývá potlačení metody.
- Hlavní šablona může mít abstraktní a ne abstraktní metody, což usnadňuje implementaci a flexibilitu implementace.
- Délka kódu zůstává omezená.
- Kód se zdá být čistý a účinný.
- Snadné ladění, což usnadňuje život vývojáře.
Případy užití
- Má implementace vztahů.
- Implementace databáze.
- Implementace variant vozidla.
- Sběr ovoce a implementace vitamínových efektů.
- Implementace metody workflow.
Co jiného si můžete prohlédnout?
Jste si vědomi konceptů implementace rozhraní, s Java 8, která nese nové funkce, můžete vyzkoušet implementaci rozhraní proti odvozeným třídám zmíněným výše a můžete vyzkoušet různé obchodní scénáře, v Java 8 a novějších verzích můžete liberálně přepsat abstraktní metody rozhraní ve třídách implementace, měli byste se podívat na dokumentaci předloženou společností Oracle za totéž.
Měli byste také prozkoumat další návrhové vzory, protože jsou důležité a očekávané od zkušených vývojářů javy z celého odvětví.
Doporučené články
Toto byl průvodce šablonou v Javě. Zde jsme diskutovali o konceptu, požadavku, použité a výhodě šablony v Javě. Další informace naleznete také v dalších navrhovaných článcích -
- Co je Design Pattern v Javě?
- Úvod do JavaScriptu
- Jak nainstalovat selen
- Co je Cognos?
- Abstraktní třídy v JavaScriptu
- JRE vs JVM | 8 hlavních rozdílů s (infografika)