Šablóna v jazyku Java
Konštrukčné vzory pomáhajú kóderovi napísať čistý, efektívny a neopakujúci sa kód s menšou väzbou alebo závislosťou medzi jednotlivými jednotkami prevádzky. Kedykoľvek kodér analyzuje požiadavku zobrazenú klientom, potom je prvým riešením, o ktoré je potrebné sa postarať, vhodný návrhový vzorec pre implementáciu kódu, na ktorý by sa kód neskôr mohol zmenšiť, môžu sa začleniť aj niektoré ďalšie obmedzenia, ak sa majú pridať.
Dizajnové vzory sa vždy volia v kontexte škálovateľnosti a čistej implementácie.
Šablóny volíme, keď sa snažíme vyplniť ich prostredníctvom určitých implementácií, ktoré sa nazývajú šablóny.
V oblasti kódovania tieto paradigmy používame v rámci nasledujúcich druhov obchodných scenárov.
Scenár 1 -
Mali by ste navrhnúť webové riešenie pre šablónu v jazyku Java, v ktorom budete požiadaní o implementáciu charakteristických vlastností vozidla, ako je jeho vzorec na výpočet rýchlosti, výpočet krútiaceho momentu atď. Takže pre bicykel by to bolo iné ako to, čo by bolo pre auto, a ak vidíme z hľadiska škálovateľnosti, potom pridáme základnú šablónu, ktorá má iba vonkajší kostru týchto metód súvisiacich s výpočtom, a potom sme práve pridali varianty týchto implementácií v našom kóde, a teda vytvorili flexibilný dizajn. Po zobrazení tejto šablóny by iba používateľ získal predstavu o funkciách, ktoré ponúkate, a mohol sa tešiť iba v súvisiacich triedach.
Scenár 2 -
Ďalším prípadom môže byť vygenerovanie spoločnej šablóny pre databázové triedy, ktoré budete volať vo svojom projekte, pravdepodobne používate Oracle, MySQL alebo DB2 a pravdepodobne v rôznych scenároch kódovania, na ktoré sa tešíte, že sa s nimi môžete spojiť v rôznych prípadoch. času, takže v šablóne môžete vložiť užívateľské meno, heslo, získať vlastnosti pripojenia atď. a rozširujúce triedy by poskytovali podrobnosti implementácie podľa vášho výberu.
Vývojár Java vie, ako implementovať tento druh funkčnosti !! Áno, abstraktná trieda je správna odpoveď, dúfam, že viete, že vždy, keď máme scenáre, v ktorých majú byť úzko spojené entity vyriešené, vyberieme abstraktné triedy (v opačnom prípade rozhrania tiež vyriešia náš účel).
Implementácia šablóny v jazyku Java
1. Vytvorte základnú triedu ako abstraktnú, ktorá obsahuje aj šablónové metódy a tiež abstraktné metódy.
2. Metódy šablón sú konečnej povahy a potom sa nezmenia.
3. Abstraktné metódy je potrebné implementovať prostredníctvom podpory obchodno-logického kódu v triedach implementácie.
4. Metóda by mohla byť abstraktná v detských triedach, ak sa tam nemusí implementovať.
5. Dôležitým scenárom je aj náležitá starostlivosť o zaobchádzanie s výnimkami.
6. Správna voľba toho, čo musí byť označené abstraktne a čo nie.
Metódy s karosériami v základnej triede sa robia ako konečné typy, pretože sa nemajú potlačovať, rovnako ako pri výpočte počtu otáčok za minútu sa môžu urobiť rovnaké.
Nižšie sme definovali príklad založený na šablóne java, ktorý obsahuje vzorovú implementáciu toho isté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());
)
)
)
Na overenie tejto implementácie pomocou vlastných implementácií môžete použiť eclipse alebo iné platformy na zostavovanie online.
Systémové požiadavky pred vami Kód
1. Prednostne sa inštaluje Java 8.
2. Systémové premenné musia byť správne nakonfigurované pre JRE.
3. Vyžaduje sa aj IDE, ako je zatmenie, ktoré automaticky kontroluje syntaktické chyby.
4. Ladenie iba s IDE.
5. Zásuvné moduly pre analýzu návrhu šablón.
6. Nástroje na priradenie diagramov tried, aby ste vedeli, aký vyšší vzťah je dedičnosť medzi triedami, ktoré ste vytvorili pri implementácii vzorových šablón.
7. Všetky okná, Linux alebo MAC by splnili svoju úlohu.
Výhody šablóny v jazyku Java
- Zabraňuje duplikácii kódu, keďže všeobecné veci je možné implementovať iba v abstraktnej triede, v podtriedach je možné implementovať potrebné variácie.
- Variabilné vzorce sa môžu implementovať do podtried na základe dedičského vzťahu implementácie. Tento proces sa nazýva prepísanie metódy.
- Hlavná šablóna môže mať abstraktné a non-abstraktné metódy, čo uľahčuje a flexibiluje implementáciu.
- Dĺžka kódu zostáva obmedzená.
- Kód sa javí čistý a efektívny.
- Jednoduché ladenie, čím sa uľahčí život vývojára.
Prípady použitia
- Implementácia vzťahov.
- Implementácie databázy.
- Implementácia variantov vozidla.
- Zber ovocia a implementácia vitamínových efektov.
- Implementácia metódy pracovných postupov.
Čo ešte môžete preskúmať?
Ste si vedomí koncepcií implementácií rozhrania, s Java 8, ktorý nesie nové funkcie, môžete vyskúšať implementáciu rozhrania s odvodenými triedami uvedenými vyššie a môžete vyskúšať rôzne obchodné scenáre, v Java 8 a novších verziách môžete slobodne prepísať abstraktné metódy rozhraní v implementačných triedach, mali by ste sa pozrieť na dokumentáciu predloženú spoločnosťou Oracle za to isté.
Mali by ste tiež preskúmať ďalšie návrhové vzory, ktoré sú dôležité a očakávané od skúsených vývojárov javy z celého odvetvia.
Odporúčané články
Toto bol sprievodca šablónou v Jave. Tu sme diskutovali o koncepte, požiadavkách, použitých a výhodách šablóny v Jave. Viac informácií nájdete aj v ďalších navrhovaných článkoch -
- Čo je to dizajnový vzor v Jave?
- Úvod do JavaScriptu
- Ako nainštalovať selén
- Čo je Cognos?
- Abstraktné triedy v JavaScripte
- JRE vs JVM | 8 najlepších rozdielov s (infografika)