Vzorec java: opis, značilnosti, primeri

Razširitev pogojev naloge lahko zahteva ponavljanje iste vrste dejanj v določenem vrstnem redu. Takšna dejanja so programerjem v pomoč z vzorci ali Java Pattern (JP), ki avtomatizirajo ustvarjanje predmetov in njihovih odnosov v delovnem prostoru uporabnika. Ekipe lahko uporabljajo program JP za zmanjšanje napak, poenostavitev simulacije in izboljšanje učinkovitosti. Oblikovalci oblikujejo JP na podlagi informacij, pridobljenih iz obstoječih referenčnih izvedb in primerov rešitev.

Struktura vzorca oblikovanja

Struktura predloge za oblikovanje

Skupine za oblikovanje rešitev namestite program Java Oblikovalski vzorci, uporaba čarovnikov, uporaba vzorcev v delovnem prostoru. Ti čarovniki za najboljše prakse zmanjšujejo potrebo po kodiranju in zapletenem prilagajanju.

Struktura predloge JP:

  1. Podatkovni model vključuje vse entitete in podatkovne elemente, ki izvajajo predlogo, v kateri so ti podatki organizirani v delovnem prostoru. Zagotavlja pričakovani uporabniški vnos in ga uporabi v delovnem prostoru ter ima vgrajen sistem pomoči, ki je na voljo, ko uporabnik zažene načrtovanje vzorca Java.
  2. Uporabniški vmesnik. Razvijalci sodelujejo z oblikovnimi vzorci z uporabo čarovnika za oblikovanje JP. Zbira informacije in jih organizira na različnih straneh čarovnika, ki jih po potrebi dopolnjuje z namigi ali vgrajeno pomočjo.
  3. Procesor za izvajanje. Ko uporabnik zaključi čarovnika za oblikovanje vzorca Java in klikne "Končano", vzorec načrtovanja uporablja podatke, ki jih vnese uporabnik, za entitete in elemente, opredeljene v tem vzorcu načrtovanja. JP nato ustvari in organizira predmete in podatkovne elemente v delovnem prostoru.

Zaporedje razvojnega cikla

Zaporedje razvojnega cikla

Življenjski cikel oblikovalskega vzorca se začne z identifikacijo in izolacijo samega JP. Oblikovalci v sodelovanju z referenčno izvedbo določijo ponovljivo postavitev, ki vključuje vire in razmerja med viri in delovnim prostorom. Naloge v življenjskem ciklu oblikovnih vzorcev Java opravljata dva različna udeleženca: oblikovalec, ki ustvari in razpošlje postavitev, in operater, ki vzpostavi oblikovne vzorce in zažene JP, da olajša razvoj rešitve.

Zaporedje vzorcev za oblikovanje:

  1. Ocenjuje skupne naloge modeliranja in ključne vire v referenčnih izvedbah, vzorčnih rešitvah in najboljših praksah ter ugotavlja, katere ponovljive naloge je mogoče avtomatizirati v JP.
  2. Razvijanje skupnih projektov z uporabo opredeljenih virov kot ključnih elementov.
  3. Preizkusite nastale predloge za oblikovanje tako, da jih zaženete v okolju Design Studio.
  4. Vključite program JP v projekte vtičnikov, ki so povezani s projektom objekta in spletnim mestom za posodobitve.
  5. Nastavitev funkcij glede na njihovo vlogo in namen.
  6. izvajanje oblikovalskih vzorcev za dokončanje oblikovalske rešitve.

datoteka z vzorcem.xml

Datoteka Pattern.xml

Vsaka predloga za oblikovanje ima "vzorec".xml", ki opredeljuje vsebino modela JP. Poleg atributov visoke ravni, določenih za datoteko, npr imenski prostor, atributi identifikatorja in imena predloge. V razdelku "Shema XML" je datoteka z imenom DesignPattern.xsd v mapi shem, ki je na voljo v paketu programske opreme Design Studio. Razvijalec lahko s številko različice predloge za oblikovanje določi, ali gre za večjo ali manjšo izdajo ali del izdaje paketa nadgradnje.

Stran Uvod v čarovniku vsebuje informacije, ki opisujejo uporabo programa JP. Razdelki vzorca načrtovanja:

  1. Dejanski ciljni projekti, v katerih so viri shranjeni ob uporabi predloge za oblikovanje.
  2. Polnila predstavljajo podatke, ki jih vnese uporabnik, ki uporablja JP.
  3. Strani, ki so prikazane v čarovniku. Žetoni JP so organizirani v kot strani v čarovniku, kjer je vsaka stran njihova skupina. Opredelite lahko poljubno število skupin žetonov.
  4. Seznam virov, vključenih v program JP, ki te vire kopira v uporabnikov delovni prostor.
  5. Privzete informacije, ki so na voljo čarovniku JP, za avtomatizacijo Izpolnjevanje imen žetonov.

Pristop k oblikovanju Jave

Oblikovalske predloge so že opredeljene in zagotavljajo standardni pristop k reševanju ponavljajočega se problema, zato ob pametni uporabi prihranijo čas. Uporaba oblikovnih vzorcev spodbuja ponovno uporabo, kar omogoča zanesljivejšo in lažje vzdrževano kodo. To pomaga zmanjšati skupne stroške lastništva (TCO) programskega izdelka ter olajša razumevanje in odpravljanje napak v kodi. To omogoča hitrejši razvoj, novi člani ekipe pa se zlahka naučijo novih programov.

Oblikovni vzorci Java se delijo na tri kategorije - oblikovanje za ustvarjanje, strukturo in obnašanje. Ustvarjalni oblikovalci JP zagotavljajo rešitev za ustvarjanje najboljšega možnega predmeta za določene situacije.

Vzorec Singleton omejuje ustvarjanje primerkov razredov in zagotavlja, da v Navidezni stroj Java obstaja samo en primerek. Zdi se, da je program zelo preprost, vendar ima pri izvajanju veliko težav. Izvajanje vzorca Singleton je bilo vedno sporna tema med razvijalci in ena od najbolj obravnavanih tem pri oblikovanju JP.

Izdelan vzorec

Tovarniški vzorec

Vzorec Java Factory se uporablja, kadar obstaja nadrazred z več podrazredi. Ta vzorec prenese odgovornost za ustvarjanje primerka razreda z odjemalskega programa na tovarniški razred. Vzorec Singleton lahko uporabite za razred Factory ali pa naredite metodo Factory statično. To je eden najpogosteje uporabljenih JP.

Abstraktna tovarna je podobna vzorcu Factory, ki vrača različne podrazrede glede na vhodne podatke in za to uporablja operator "if-else" ali "switch". V predlogi Abstract Factory smo se znebili bloka "if-else", pustili smo tovarniški razred za vsak podrazred, nato pa Abstract Factory vrne podrazred na podlagi vhodnega tovarniškega razreda.

JP Builder je bil uveden za reševanje nekaterih težav s Factory in Abstract Factory, ko objekt vsebuje veliko atributov. Vzorec graditelja Java odpravlja težave z velikim številom neobveznih parametrov in nedoslednih dejanj, saj zagotavlja metodo, ki zgradi objekt po korakih, in metodo, ki vrne končni objekt.

Strukturne zasnove

Oblikovni vzorec adapter je eden od strukturnih vzorcev JP in se uporablja za sodelovanje dveh nepovezanih vmesnikov. Objekt, ki se priključi na te nepovezane vmesnike, se imenuje adapter. Kot primer iz prakse si oglejte mobilni polnilec kot adapter, saj je za polnjenje baterije Potrebno je 3 V, običajna vtičnica pa ima 120 V (ZDA) ali 220 V (Rusija). Mobilni polnilnik deluje kot adapter med vtičnico za polnjenje mobilnega telefona in omrežno vtičnico.

Vzorec JP Composite je eden od strukturnih oblikovnih vzorcev in se uporablja, kadar želimo predstaviti hierarhijo del-celota, ustvariti strukturo, tako da so predmeti v njej obravnavani enako.

Diagram je primer iz resničnega življenja, struktura, sestavljena iz predmetov, kot so krog, črta, trikotnik in druge geometrijske oblike. Ko programer zapolni sliko z barvo, na primer z rdečo, se ista barva uporabi tudi za predmete v programu JP. V tem primeru je figura sestavljena iz različnih delov, vsi pa imajo enake operacije.

Vzorec pooblaščenca

Namen vzorca pooblaščenca je "zagotoviti nadomestek ali nadomestno mesto za drug predmet, da bi nadzorovali dostop do njega". Sama opredelitev je zelo jasna, pooblaščenec JP pa se uporablja, kadar želimo zagotoviti nadzorovan dostop do funkcionalnosti.

Recimo, da obstaja razred, ki lahko v sistemu izvede nekaj ukazov, vendar če bi morali ta program posredovati odjemalskemu programu, bi lahko prišlo do resnih težav. Odjemalski program lahko izda ukaz za brisanje nekaterih sistemskih datotek ali spremembo nekaterih parametrov, ki niso potrebni.

Predloga pooblaščenca

Oblikovalski vzorec Flyweight se uporablja, kadar je treba ustvariti veliko predmetov razreda. Ker vsak predmet porabi pomnilniški prostor, kar je lahko kritično za naprave z malo pomnilnika, kot so mobilne naprave ali vgrajeni sistemi, je mogoče s poenostavljeno zasnovo JP zmanjšati pomnilniški odtis s souporabo predmetov. Implementacija sklada nizov v Javi je eden najboljših primerov implementacije vzorca Flyweight.

JP Facade se uporablja za lažje sodelovanje odjemalskih aplikacij s sistemom. Predpostavimo, da obstaja aplikacija z nizom vmesnikov za uporabo podatkovne zbirke MySql/Oracle za ustvarjanje različnih vrst poročil, kot so poročilo HTML, poročilo PDF in druga. Na ta način bo uporabnik imel na voljo različne vmesnike sodelovati z z različnimi vrstami podatkovnih zbirk.

Odjemalska aplikacija lahko te vmesnike uporabi za pridobitev potrebne povezave s podatkovno bazo in poročila. Ko pa se zapletenost poveča ali imena obnašanja vmesnikov postanejo zmedena, bo odjemalska aplikacija imela težave pri upravljanju. Tako uporabite predlogo Facade in na vrhu obstoječega vmesnika zagotovite vmesnik lupine, ki je v pomoč odjemalčevi aplikaciji.

Hierarhije vmesnikov

Če ima uporabnik hierarhije vmesnikov tako v vmesnikih kot tudi v izvedbah, potem JP "Most" se uporablja za ločevanje vmesnikov od izvedb in skrivanje podrobnosti izvedbe pred odjemalskimi programi. Tako kot vzorec adapterja je tudi ta vzorec eden od vzorcev JP strukturnega načrtovanja. Izvajanje JP "Most" Sledi ideji, da ima sestava prednost pred dedovanjem.

JP "Dekorater" se uporablja za spreminjanje funkcionalnosti predmeta med izvajanjem. Hkrati to ne bo vplivalo na druge primerke istega razreda, tako da bo spremenjeno obnašanje prejel posamezni objekt. JP "Dekorater" je eden od strukturnih oblikovnih vzorcev in se uporablja za implementacijo abstraktnih razredov ali vmesnikov s sestavo.

Uporabniki uporabljajo dedovanje ali sestavljanje za razširitev obnašanja objekta, vendar se to izvede v času sestavljanja in velja za vse primerke razreda. Med izvajanjem ne morete dodajati novih funkcionalnosti.

Vzorec Java Regex Regularni izrazi

Aplikacije pogosto zahtevajo obdelavo besedila za funkcije, kot so iskanje besed, potrjevanje e-pošte ali celovitost dokumentov XML. To pogosto vključuje ujemanje vzorcev. Jeziki, kot so Perl, sed ali awk, izboljšujejo iskanje vzorcev z uporabo regularnih izrazov, nizov znakov, ki določajo vzorce za iskanje ustreznega besedila. Ujemanje vzorca z uporabo programski jezik Java zahteva razred StringTokenizer s številnimi metodami charAt substring za branje znakov ali žetonov za obdelavo besedila. To pogosto privede do zapletenih ali "umazan" koda.

Za programerje je bolje uporabljati regularne izraze z javo.util.regex z uporabo naslednjih običajnih scenarijev kot primerov:

  1. Enostavna zamenjava besed.
  2. Preverjanje e-pošte.
  3. Odstranjevanje kontrolnih znakov iz datoteke.
  4. Pridobivanje datotek.

Za sestavljanje kode v teh primerih in uporabo regularnih izrazov v aplikacijah potrebujete nameščeno različico 1 sistema J2SE.4.

Izvajanje povezovanja ukazov

Vzorec ukaza se uporablja za implementacijo izgube komunikacije v "zahteva-odgovor". V njem se zahteva pošlje klicatelju, ta pa jo posreduje v zaprti objekt ukaza. Objekt ukaza pošlje zahtevo ustrezni metodi sprejemnika, da izvede določeno dejanje.

Recimo, da morate zagotoviti pripomoček datotečnega sistema z metodami za odpiranje, pisanje in zapiranje datoteke, ki mora podpirati več operacijskih sistemov, kot sta Windows in Unix. Za izvajanje pripomočka datotečni sistem morate najprej ustvariti razrede prejemnikov, ki dejansko opravljajo vse delo. Ker je kodiranje izvedeno v obliki vmesnikov Java, lahko za različne različice obstajajo vmesnik FileSystemReceiver in njegovi izvedbeni razredi operacijski sistem, kot so Windows, Unix, Solaris in drugi.

JP "Tolmač" se uporablja za opredelitev slovnične predstavitve jezika in zagotavlja prevajalnik za obdelavo slovnice. Najboljši primer tega vzorca je prevajalnik "Java", ki interpretira izvorno kodo "Java" v bajt, razumljiv za JVM. Prevajalnik Google je tudi prevajalnik Java, ki lahko vnaša podatke v enem jeziku, izpisuje pa v drugem.

JP "Obiščite spletno stran" se uporablja, kadar želite izvesti operacijo na skupini podobnih predmetov. Uporablja se lahko za prenos operativne logike iz predmetov v drug razred. Na primer nakupovalna košarica, v katero je mogoče dodati različne vrste predmetov, ob kliku na gumb "checkout" pa se izračuna skupni znesek, ki ga je treba plačati.

Java Util Regex vzorec

Sestavljanje iz lupinskih skript Unix/Linux se uporablja, kadar razvijalec nima projekta "Ant" ali "Ant-based" za sestavljanje po meri "Java"-programi. V takih primerih se za sestavljanje razredov Java običajno uporablja lupinska skripta za Linux. Zelo dobra uporaba, ki jo skripta omogoča uporabniku, je dinamična vključitev vseh zahtevanih datotek Jar v pot razreda. Datoteke Jar so torej na voljo, njihovo sestavljanje pa je zelo preprosto iz ukazne vrstice.

Program temelji na dveh predpostavkah:

  1. Uporabnik je v imeniku nad nivojem z imenom " src", ki vsebuje " java" datoteke.
  2. Uporabnik je v imeniku nad nivojem z imenom " lib", in vse datoteke "Jar", ki jih program potrebuje, so v tem imeniku.

Vzorec Sestavljanje Java skript.

Skriptni vzorec Kompiliranje Java

Redni izrazi v "java" Util je uporaba vzorca in ujemanja. Uporabite lahko metodo String.matches () za izvedbo ujemanja. V nekaterih primerih je treba uporabiti nekoliko bolj podroben način izvedbe seje, ki pa na koncu zagotavlja večjo prilagodljivost in lahko izboljša zmogljivost. Uporabljata se zlasti dva razreda paketa java.util.regex: Vzorec in ujemanje. vzorec je naveden spodaj.

Dva razreda paketa

Postopek Java Regex Pattern je videti takole:

  1. Izraz sestavi v predmet "Vzorec".
  2. Pokličite statično metodo Vzorec.compile (), ki posreduje izraz. Ta metoda vrne predmet Pattern. Izvedba tega predmeta je notranja predstavitev vzorca v obliki, ki omogoča učinkovito izvajanje preslikav.
  3. Ko je treba izvesti ujemanje, ustvarite objekt Matcher.
  4. Če želite preveriti, ali se določen niz vzorca ujema z vzorcem, uvedite metodo matching() na objektu vzorca in mu predajte niz.
  5. Pokličite program Java Pattern Matcher, ki vrne logično vrednost, ki označuje, ali se niz, posredovan metodi (), ujema z regularnim izrazom.

Tako so oblikovalski vzorci zelo priljubljeni pri razvijalcih programska oprema, ker predstavljajo dobro opisano rešitev tipičnega problema. To so pomočniki, ki avtomatizirajo zapletena, ponavljajoča se opravila in omogočajo članom ekipe z različnimi ravnmi znanja, da jih opravljajo.

Članki na tem področju