Java obrazac: opis, karakteristike, primjeri

Proširenje uslova zadatka može zahtevati ponavljanje iste vrste radnji u određenom redosledu. Takve radnje pomažu programerima da izvode predloške ili Java uzorak (JP), koji automatiziraju stvaranje objekata i njihove odnose u radnom prostoru korisnika. Timovi mogu koristiti JP za smanjenje grešaka, pojednostavljenje modeliranja i poboljšanje performansi. Dizajneri kreiraju JP koristeći informacije identifikovane iz postojećih referentnih implementacija i rješenja za uzorke.

Struktura uzorka dizajna

Struktura uzorka dizajna

Timovi za razvoj rješenja instalirajte Javu Dizajn obrazaca, koristeći čarobnjaka, primijeniti predloške u radnom prostoru. Ovi čarobnjaci, u skladu sa najboljim praksama, smanjuju potrebu za kodiranjem i složenom konfiguracijom.

Tipična jp struktura:

  1. Model podataka uključuje sve entitete i elemente podataka koji implementiraju šablon u kojem su ti podaci organizovani u radnom prostoru. Obezbeđuje očekivani korisnički unos i primenjuje ga na radni prostor, a takođe ima i ugrađeni sistem pomoći koji je dostupan kada korisnik pokrene dizajn Java šablona.
  2. Korisnički Interfejs. Razvijači komuniciraju sa uzorcima dizajna pomoću čarobnjaka za dizajn JP. Prikuplja informacije i organizuje ih na različitim stranicama čarobnjaka, dopunjavajući ih nagoveštajima ili ugrađenom pomoći, na zahtev korisnika.
  3. Procesor Implementacije. Kada korisnik završi rad sa Java Pattern Design Wizardom i klikne na dugme "Gotovo", šablon dizajna primjenjuje podatke koje unosi korisnik na entitete i elemente definirane u ovom projektu. Nakon toga, JP generiše i organizuje objekte i elemente podataka u radnom prostoru.

Slijed razvojnog ciklusa

Slijed razvojnog ciklusa

Životni ciklus dizajnerskog obrasca počinje sa identifikacijom i izolacijom samog JP-a. Radeći sa referentnom implementacijom, dizajneri identifikuju ponovljivi izgled koji uključuje resurse i odnose resursa sa radnim prostorom. Zadatke u životnom ciklusu Java Design Pattern obavljaju dva različita učesnika, dizajner koji kreira i distribuira izgled, kao i operater koji instalira šablone dizajna i pokreće JP kako bi olakšao razvoj rješenja.

Slijed obrade dizajna:

  1. Opšti zadaci modeliranja i ključni resursi u referentnim implementacijama, primjeri rješenja i najbolje prakse se vrednuju i utvrđuju koji se ponovljivi zadaci mogu automatizirati u JP.
  2. Razviti JP koristeći identifikovane resurse kao ključne komponente.
  3. Testirajte primljene šeme dizajna tako što ćete ih pokrenuti u okruženju dizajnerskog studija.
  4. Uključite JP u plugin projekte koji povezuju na projekt objekta i na sajt za ažuriranje.
  5. Postavite funkcije ovisno o njihovoj ulozi i ciljevima.
  6. Pokrenite dizajn šeme da dovršite dizajnersko rješenje.

Datoteka šablona.xml

Obrazac datoteka.xml

Svaki šablon dizajna ima" uzorak " fajl.xml", koji definiše sadržaj JP modela. pored atributa visokog nivoa postavljenih za datoteku, Na primjer, za ubaci razmake, identifikator šablona i atributi imena. U odeljku "An XML schema" je datoteka pod nazivom DesignPattern.xsd u mapi šema dostupno u softverskom paketu Studio za dizajn. Programer može odrediti da li je obrazac dizajna veliko ili manje izdanje ili deo izdanja paketa ažuriranja prema broju verzije dizajna.

Na stranici" Uvod " u čarobnjaku postoje informacije koje opisuju kako možete koristiti JP. Dijelovi obrasca za dizajn:

  1. Stvarni ciljni projekti u kojima se sačuvaju resursi prilikom primjene obrasca dizajna.
  2. Rezervisana mjesta predstavljaju informacije koje mora unijeti korisnik koji primjenjuje JP.
  3. Stranice koje su prikazane u čarobnjaku. Jp tokeni su organizovani kao stranice u čarobnjaku, gdje je svaka stranica grupa njih. Možete definirati bilo koji broj token grupa.
  4. Lista resursa uključenih u JP koji kopiraju ove resurse u radni prostor korisnika.
  5. Uobičajeni prioritet: jp čarobnjak, za automatski izlistaj imena tokena.

Java pristup dizajnu

Obrasci dizajna su već definisani i pružaju industrijski standardni pristup za rješavanje ponavljajućeg problema, tako da štedi vrijeme ako se mudro koristi. Upotreba dizajnerskih obrazaca promoviše ponovnu upotrebu, što dovodi do stvaranja pouzdanijeg i lako održivijeg koda. Ovo pomaže u smanjenju ukupnih troškova vlasništva (TCO) softverskog proizvoda i olakšava razumijevanje i otklanjanje grešaka kod. To dovodi do bržeg razvoja, a novi članovi tima se lako obučavaju za nove programe.

Java obrasci dizajna spadaju u tri kategorije-dizajn za kreiranje, strukturu i ponašanje. Kreacijska dizajnerska rješenja pružaju rješenje za stvaranje objekta na najbolji način za određene situacije.

Singleton obrazac ograničava stvaranje instanci klase i osigurava da samo jedna instanca klase postoji u Java virtuelnoj mašini. Čini se da je ovo vrlo jednostavan JP, ali kada je u pitanju implementacija, ima dosta problema. Implementacija Singleton šablona oduvijek je bila kontroverzna tema među programerima i jedna od tema o kojima se najviše raspravlja za dizajn.

Fabrički uzorak

Fabrički uzorak

Java fabrički obrazac se koristi kada postoji superklasa sa više podklasa. Ovaj obrazac preuzima odgovornost za kreiranje instance klase od klijentskog programa do fabričke klase. Možete primijeniti Singleton šablon na fabričku klasu ili učiniti fabričku metodu statičnom. Ovo je jedan od najčešće korištenih JP.

Apstraktna fabrika je slična fabričkom uzorku koji vraća različite podklase na osnovu datog ulaza i koristi operator "if-else" ili "switch" da bi se to postiglo. U apstraktnom fabričkom šablonu, oslobodili su se bloka "if-else", napustili fabričku klasu za svaku potklasu, nakon čega Abstract Factory vraća potklasu zasnovanu na ulaznoj fabričkoj klasi.

Jp Builder je predstavljen kako bi riješio neke fabričke i apstraktne fabričke probleme kada objekat sadrži mnogo atributa. Java Builder obrazac eliminiše problem velikog broja opcionih parametara i nedoslednih radnji pružajući korak-po-korak način za izgradnju objekta i metode koja vraća konačni objekat.

Strukturalni dizajn

Uzorak dizajna adaptera je jedan od obrazaca strukturalnog dizajna i koristi se za zajednički rad između dva nepovezana interfejsa. Objekat koji se vezuje za ove nepovezane interfejsa se zove adapter. Kao primer iz stvarnog života, možete uzeti u obzir mobilni punjač kao adapter, od Za punjenje baterije potrebno je 3 V, a obična utičnica daje napon od 120 V (SAD) ili 220 V (Rusija). Dakle, mobilni punjač radi kao adapter između utičnice za mobilno punjenje i zidne utičnice.

Jp kompozitni uzorak je jedan od obrazaca strukturnog dizajna i koristi se kada je potrebno predstaviti dio-cijelu hijerarhiju, stvoriti strukturu na takav način da se objekti u njoj tretiraju isto.

Dijagram je primjer iz stvarnog života, struktura koja se sastoji od objekata kao što su krug, linije, trougao i drugi geometrijski oblici. Kada programer ispuni crtež bojom, recimo crvenom, ista boja se primjenjuje i na objekte u JP. Ovdje se crtež sastoji od različitih dijelova i svi imaju iste operacije.

Šablon Za Proxy

Svrha proxy šablona je da "obezbedi surogat ili rezervator mesta za drugi objekat kako bi se kontrolisao pristup njemu". Sama definicija je vrlo jasna, a JP proxy se koristi kada je potrebno obezbijediti kontrolisan pristup funkcionalnosti.

Recimo da postoji klasa koja može izvršiti neke komande u sistemu, ali ako treba da prosledite ovaj program klijentskoj aplikaciji, To može imati ozbiljnih problema. Klijentski program može izdati naredbu za brisanje nekih sistemskih datoteka ili promjenu nekih parametara koji nisu potrebni.

Šablon Za Proxy

Obrazac dizajna za muhu koristi se kada je potrebno stvoriti puno objekata klase. Budući da svaki objekt troši memorijski prostor, koji može biti presudan za uređaje s malom količinom memorije, poput mobilnih uređaja ili ugrađenih sistema, moguće je primijeniti JP sa pojednostavljenim dizajnom za smanjenje opterećenja memorije dijeljenjem objekata. Implementacija niza bazena u Javi jedan je od najboljih primjera implementacije predložaka za muhu.

Facade JP se koristi za pomoć klijentskim aplikacijama u jednostavnoj interakciji sa sistemom. Pretpostavimo da postoji aplikacija sa skupom interfejsa za korišćenje MySQL/Oracle baza podataka za kreiranje izveštaja različitih tipova, kao što su HTML izveštaj, PDF izveštaj i drugi. Tako će korisnik imati drugačiji skup interfejsa za rad sa različitim vrstama baza podataka.

Klijentska aplikacija može koristiti ove interfejse za dobijanje potrebne veze sa bazom podataka i generisanje izveštaja. Ali kada se složenost poveća ili imena ponašanja interfejsa budu zbunjujuća, klijentskoj aplikaciji će biti teško da njime upravlja. Na taj način primenjuju šablon fasade i obezbeđuju omotač interfejs na vrhu postojećeg kako bi pomogli klijentskoj aplikaciji.

Hijerarhije interfejsa

Kada korisnik ima hijerarhiju interfejsa u oba interfejsa, kao i implementacije, onda JP "Most" koristi se za odvajanje interfejsa od implementacije i sakrivanje detalja implementacije od klijentskih programa. Kao i uzorak adaptera, ovo je jedna od tehnika strukturalnog dizajna. Jp implementacija "Most" slijedi ideju preferiranja kompozicije, a ne nasljeđivanja.

"Operatori" koristi se za promjenu funkcije objekta tokom izvođenja. Istovremeno, na druge instance iste klase ovo neće uticati, tako da pojedinačni objekat dobija modifikovanu. Jp ponašanje "Operatori" jedan je od obrazaca strukturalnog dizajna i koristi se za implementaciju apstraktnih klasa ili interfejsa sa kompozicijom.

Korisnici koriste nasljeđivanje ili kompoziciju za proširenje ponašanja objekta, ali to se radi u vrijeme kompajliranja i odnosi se na sve instance klase. Ne možete dodati nikakve nove funkcije tokom izvršavanja šablona.

Regularni Izrazi Java Regex Obrasca

Aplikacije često zahtijevaju obradu teksta za funkcije kao što su pretraživanje riječi, Provjera e-pošte ili integritet XML dokumenta. Ovo često uključuje podudaranje uzoraka. Jezici kao što su Perl, sed ili awk poboljšavaju podudaranje uzoraka koristeći regularne izraze, nizove znakova koji definišu obrasce koji se koriste za pronalaženje odgovarajućeg teksta. Za mapiranje u šablon koristeći programski jezik Java je zahtijevala korištenje klase StringTokenizer s mnogim charAt metodama podloge za čitanje znakova ili tokena za obradu teksta. To često dovodi do kompleksa ili "neuredno" šifra.

Za programere je bolje koristiti regularne izraze sa Javom.util.regex paket, koristeći sljedeće uobičajene scenarije kao primjere:

  1. Jednostavna zamjena riječi.
  2. Provjera E-Pošte.
  3. Uklanjanje kontrolnih znakova iz datoteke.
  4. Traženje Datoteka.

Da biste kompajlirali kod u ovim primjerima i koristili regularne izraze u aplikacijama, morat ćete instalirati J2SE verziju 1.4.

Implementacija timske komunikacije

Šablon komande se koristi za implementaciju gubitka komunikacije u "model zahtjeva-odgovora". U njemu se zahtjev šalje pozivaocu, a invoker ga prosljeđuje inkapsuliranom komandnom objektu. Komandni objekt prosljeđuje zahtjev odgovarajućoj metodi prijemnika za obavljanje određene radnje.

Recimo da morate da obezbedite uslužni program sistema datoteka sa metodama za otvaranje, pisanje i zatvaranje datoteke, a on treba da podržava više operativnih sistema, kao što su Windows i Unix. Da biste implementirali uslužni program sistema datoteka, prije svega, morate kreirati klase primaoca koje će zaista obaviti sav posao. Pošto se kodiranje vrši u smislu Java interfejsa, može postojati interfejs FileSystemReceiver i njegove klase implementacije za različite varijante operativnog sistema, kao što su Windows, Unix, Solaris i drugi.

JP "Prevodilac" koristi se za određivanje gramatičke reprezentacije jezika i pruža prevodiocu za rad s gramatikom. Najbolji primer ovog obrasca je kompajler "Java", koji tumači izvorni kod "Java" do bajta, razumljivo za JVM. Google Translator je takođe primjer Java tumača uzoraka gdje ulaz može biti na jednom jeziku, a izlaz na drugom.

"Posetilac" koristi se kada je potrebno izvršiti operaciju na grupi sličnih objekata. Možete ga koristiti za premještanje operativne logike iz objekata u drugu klasu. Na primjer, korpa za kupovinu u koju možete dodati različite vrste robe, kada se pritisne dugme "naplata", obračunava se ukupan iznos za plaćanje.

Primjer Java Util Regex uzorka

Kompilacija iz UNIX / Linux shell skripte se koristi kada se pojave okolnosti kada programer nema" Ant "ili" Ant-based " projekat za kompajliranje prilagođenog "Java"-Programi. U takvim slučajevima obično koriste Linux shell skriptu za kompajliranje svojih Java klasa. Veoma dobra upotreba koju skripta koristi za korisnika je dinamičko uključivanje svih JAR datoteka koje su potrebne u putanji klase. Dakle, jar datoteke su tu, njihovo kompajliranje je vrlo jednostavno iz komandne linije.

Program čini dvije pretpostavke:

  1. Korisnik se nalazi u direktoriju iznad imenovanog nivoa " src", koji sadrži " java" datoteke.
  2. Korisnik se nalazi u direktoriju iznad imenovanog nivoa " lib", i sve" Jar " datoteke koje su potrebne programu nalaze se u ovom direktoriju.

Šablon Kompajliraj Java Skriptu.

Šablon Kompajliraj Java Skriptu

Regularni izrazi u "Java" Util je upotreba nastave uzorka i utakmica. Možete koristiti niz.metoda matches () za izvođenje podudaranja. U nekim slučajevima morate koristiti malo opširniji način vođenja sesije, ali onaj koji na kraju daje više fleksibilnosti i može poboljšati performanse. Konkretno, dvije klase jave.util.regex paket se koristi: uzorak i utakmica. Fotografije su predstavljene u nastavku.

Dvije klase paketa

Procedura Java Regex uzorka izgleda ovako:

  1. Kompajliraj izraz u objekt "Šablon".
  2. Pozovite statički metod obrazac.kompajlirajte (), prolazeći izraz. Ova metoda vraća obrazac objekta. Izvršenje ovog objekta je interni prikaz šablona u obliku koji ga čini efikasnim za izvođenje mapiranja.
  3. Kad god je potrebno mapiranje da se izvrši, a Matcher objekat je kreiran.
  4. Da bi se proverilo da li se određeni šablon šablona poklapa, metoda matching () se nameće na šablon objekta prolazeći u nizu.
  5. Pozivaju se utakmice Java Pattern Matchera, koje vraća logičku vrijednost koja pokazuje da li string proslijeđen () metodi odgovara regularnom izrazu.

Stoga su dizajnerske šeme veoma popularne među programerima, zato što predstavljaju dobro opisano rješenje za tipičan problem. To su asistenti koji automatiziraju složene ponavljajuće zadatke i omogućavaju članovima tima s različitim nivoima obuke Da ih obavljaju.