Sjabloon in Java - Vereisten en voordelen van sjabloon in Java

Inhoudsopgave:

Anonim

Sjabloon in Java

Ontwerppatronen helpen een codeerder om schone, efficiënte en niet-herhalende code te schrijven met minder koppeling of afhankelijkheid tussen de afzonderlijke operationele eenheden. Wanneer een codeerder de vereiste analyseert die door de klant wordt weergegeven, is een geschikt ontwerppatroon voor code-implementatie de eerste oplossing die moet worden gevolgd, waarop de code later zou worden geschaald, er kunnen ook enkele aanvullende beperkingen worden opgenomen.

Ontwerppatronen worden altijd gekozen met de context van schaalbaarheid en schone implementatie.

We kiezen voor sjablonen wanneer we deze via bepaalde implementaties willen invullen, deze worden sjablonen genoemd.

En in de codeerarena gebruiken we deze paradigma's onder de volgende soorten bedrijfsscenario's.

Scenario 1 -

Je wordt verondersteld een webgebaseerde oplossing voor Template in Java te ontwerpen, waarbij je wordt gevraagd om de karakteristieke eigenschappen van een voertuig te implementeren, zoals de formule voor de snelheidsberekening, de koppelberekening, enz. Dus voor een fiets zou het anders zijn dan wat zou zijn voor een auto, en als we vanuit het perspectief van schaalbaarheid kijken, dan een basissjabloon toevoegen die alleen het buitenste skelet van deze berekeningsgerelateerde methoden heeft en dan hebben we zojuist varianten van die implementaties in onze code toegevoegd, waardoor we een flexibel ontwerp hebben gemaakt. Als u deze sjabloon alleen ziet, krijgt een gebruiker een idee van de functionaliteiten die u aanbiedt en kan alleen vooruitkijken in de gerelateerde klassen.

Scenario 2 -

Een ander geval kan zijn om een ​​gemeenschappelijk sjabloon te genereren voor databaseklassen die u in uw project gaat aanroepen, u gebruikt mogelijk Oracle, MySQL of DB2 en waarschijnlijk in verschillende coderingsscenario's kijkt u ernaar uit om met hen in verschillende instanties contact te maken van tijd, dus in de sjabloon kunt u gebruikersnaam, wachtwoord, Connection, etc. -eigenschappen invoeren en de uitbreidingsklassen geven de implementatiedetails zoals u zoekt.

Een Java-ontwikkelaar weet hoe dit soort functionaliteit geïmplementeerd kan worden !! Ja, een abstracte klasse is een goed antwoord, ik hoop dat je weet dat wanneer we scenario's hebben waarin nauw verwante entiteiten in een oplossing moeten worden geplaatst, we abstracte klassen kiezen (in de andere gevallen lossen de interfaces ook ons ​​doel op).

Sjabloon implementeren in Java

1. Maak de basisklasse abstract, waarin ook de sjabloonmethoden en de abstracte methoden zijn verwerkt.

2. De sjabloonmethoden zijn van definitieve aard en zullen daarna niet veranderen.

3. De abstracte methoden moeten worden geïmplementeerd via ondersteunende bedrijfslogica-code in de implementatieklassen.

4. De methode kan in kindklassen abstract worden gemaakt als deze niet alleen daar hoeft te worden geïmplementeerd.

5. Het op de juiste manier afhandelen van uitzonderingsbehandeling is ook een belangrijk scenario.

6. Juiste keuze voor wat als abstract moet worden gemarkeerd en wat niet.

De methoden met carrosserieën in de basisklasse zijn van het definitieve type omdat ze niet mogen worden genegeerd, zoals voor de rpm-berekening van de voertuigklasse hetzelfde kan worden gedaan.

Hieronder hebben we het op Java-sjabloon gebaseerde voorbeeld gedefinieerd, het bevat de voorbeeldimplementatie van hetzelfde -

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());
)
)
)

U kunt eclipse of andere online compileerplatforms gebruiken om deze implementatie te controleren met uw eigen implementaties.

Systeemvereisten voordat u codeert

1. Bij voorkeur wordt Java 8 geïnstalleerd.

2. Systeemvariabelen worden correct geconfigureerd voor JRE.

3. Een IDE-achtige eclips is ook vereist die syntactische fouten automatisch controleert.

4. Debuggen alleen met de IDE.

5. Plug-ins voor analyse van sjabloonontwerp.

6. Hulpmiddelen voor het koppelen van klassendiagrammen om de overerving op een hoger niveau te kennen tussen de klassen die u in de implementatie van het sjabloonontwerppatroon hebt gemaakt.

7. Elke Windows, Linux of MAC zou je taak doen.

Voordelen van Template in Java

  1. Voorkomt codeduplicatie, omdat de algemene zaken alleen in de abstracte klasse kunnen worden geïmplementeerd, kunnen de nodige variaties in de subklassen worden geïmplementeerd.
  2. Variabele patronen kunnen worden geïmplementeerd in de subklassen op basis van de overervingsrelatie van de implementatie. Dit proces wordt methode-overriding genoemd.
  3. Het hoofdsjabloon kan abstracte en niet-abstracte methoden hebben, waardoor de implementatie eenvoudiger en flexibel is.
  4. De lengte van de code blijft beperkt.
  5. De code lijkt schoon en efficiënt.
  6. Eenvoudig te debuggen, waardoor het leven van de ontwikkelaar eenvoudig wordt.

Gebruik Cases

  1. Heeft een relatie implementaties.
  2. Database implementaties.
  3. Implementatie van voertuigvarianten.
  4. Fruitverzameling en implementatie van vitamine-effecten.
  5. Implementatie van workflows-methode.

Wat kun je nog meer verkennen?

Bent u op de hoogte van de concepten van interface-implementaties, met Java 8, met nieuwe functies, kunt u de interface-implementatie proberen met de hierboven genoemde afgeleide klassen en u kunt verschillende bedrijfsscenario's proberen, in Java 8 en hoger versies, bent u liberaal om de abstracte methoden van interfaces in de implementatieklassen, zou u een blik moeten werpen op de documentatie die Oracle hiervoor presenteert.

Je moet ook andere ontwerppatronen verkennen, omdat deze belangrijk zijn en worden verwacht van ervaren Java-ontwikkelaars in de hele industrie.

Aanbevolen artikelen

Dit is een handleiding voor Template in Java. Hier hebben we het concept, de vereisten, het gebruik en het voordeel van sjabloon in Java besproken. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. Wat is ontwerppatroon in Java?
  2. Inleiding tot JavaScript
  3. Hoe Selenium te installeren
  4. Wat is Cognos?
  5. Abstracte klassen in JavaScript
  6. JRE vs JVM | Top 8 verschillen met (infographics)