design - service - mønster

, service - design - bruges, når vi ønsker at finde forskellige tjenester ved hjælp af jndi lookup.i betragtning af høje omkostninger i forbindelse med at kigge op jndi for en tjeneste, service - mønster gør brug af caching teknik.for første gang en tjeneste er nødvendig -, service - ser op i jndi og depoter tjenesten objekt.yderligere lookup eller samme service via service - er gjort i sit lager, der forbedrer resultaterne af anvendelse i stort omfang.der er følgende enheder af denne type bestemt mønster.,,,,, - faktiske ydelse, der vil behandle anmodningen.henvisning til den pågældende tjeneste skal ses i jndi server.,,,, sammenhæng /oprindelige sammenhæng - jndi forbindelse med henvisning til tjeneste, der anvendes til lookup formål.,,,, service -, service - er et enkelt kontaktpunkt til at få tjenesteydelser af jndi lookup caching tjenesteydelser.,,, cache - lager, opbevarer henvisninger af tjenester for at genbruge dem,,,,, kunde - kunde er den genstand, der påberåber sig tjenester via servicelocator.,,, gennemførelse, er vi ved at skabe en, servicelocator,,, initialcontext, lager, service, som forskellige genstande, der repræsenterer vores enheder, service1. og service2, repræsenterer konkrete tjenesteydelser.,, servicelocatorpatterndemo, vores demo klasse, fungerer som en klient her og vil bruge, servicelocator, viser, at tjeneste lforsynet med bestemt mønster.,, trin 1, skabe service - grænseflade, service -, offentlig grænseflade (offentlige snor getname(); offentlige tomrum execute();}, trin 2, skabe konkrete tjenesteydelser.,, service1 -, offentlige klasse service1 gennemfører service (offentlige eller execute() {system. println ("den fuldbyrdende service1");} @ tilsidesætte offentlige snor getname() {tilbage "service1"), service2 -, offentlige klasse service2 gennemfører service (offentlige eller execute() {system. println ("den fuldbyrdende service2");} @ tilsidesætte offentlige snor getname() {tilbage "service2"), trin 3, skabe initialcontext for jndi lookup,, initialcontext -, offentlige klasse initialcontext {offentlige formål lookup (stringjndiname) (hvis (jndiname. equalsignorecase ("service1") (system. println ("kigger op og skabe en ny service1 genstand"); tilbage nye service1();} andre, hvis (jndiname. equalsignorecase ("service2") (system. println ("kigger op og skabe en ny service2 genstand"); tilbage nye service2();} tilbage.;), trin 4, skabe cache, lager -, import java.util.arraylist; import java.util.list; offentlige klasse cache (private liste < tjeneste > tjenesteydelser, offentlige cache() {tjenester = nye arraylist < tjeneste >);} public service - getservice (string - servicename) (for (service tjenester: tjenesteydelser) (hvis (service. getname(). equalsignorecase (servicename)) (system. println ("tilbagevenden skjult" + servicename + "formål"); returrejse;}} tilbage for;} offentlige tomrum addservice (service newservice) {boolean findes = falske for (service tjenester: tjenesteydelser) (hvis (service. getname(). equalsignorecase (newservice. getname())) (findes = sandt.}} hvis (!eksisterer) (tjenester. der tilsættes (newservice)}}}, løntrin 5, skabe service -,, servicelocator -, offentlige klasse servicelocator {menig static cache - lager; statiske (cache = nye cache();} offentlige statisk tjeneste getservice (string - jndiname) (service - service = lager. getservice (jndiname); hvis (service.= null) (returrejse;} initialcontext forbindelse = nye initialcontext(); tjeneste service1 = (service) sammenhæng. lookup (jndiname) lager. addservice (service1); tilbage service1;}}, trin 6, brug, servicelocator, at påvise service - design mønster.,, servicelocatorpatterndemo -, offentlige klasse servicelocatorpatterndemo {offentlige statisk tomrum vigtigste (string [] args) (service - service = servicelocator. getservice ("service1"). execute(); service = servicelocator. getservice ("service2"). execute(); service = servicelocator. getservice ("service1"). execute(); service = servicelocator. getservice ("service2"). execute();}}, trin 7, kontrollere produktionen. kigger op og skabe en ny service1 objekt fuldbyrdende service1 ser op og skabe en ny service2 objekt fuldbyrdende service2 tilbage skjult service1 objekt fuldbyrdende service1 tilbagevenden skjult service2 objekt fuldbyrdende service2,

Service Locator Pattern UML Diagram



Previous:
Next Page: