„Java“ dizaino modeliai Kas jie yra ir iš ko jie susideda?

Ar norite žinoti, kas yra „Java“ dizaino modeliai? Jūs priėjote prie tinkamo straipsnio, nes čia mes jums pasakysime, kas jie yra, taip pat pranešime apie jų klasifikaciją ir šiek tiek daugiau.

dizainas-modeliai-java-1

Objektų schema bendroms problemoms spręsti.

„Java“ dizaino modeliai

Prieš kalbėdamas apie „Java“ dizaino modeliai, turime pastebėti, kad jie yra orientuoti į objektinį programavimą. Antra, svarbu prisiminti kai kuriuos susijusius pagrindus, įskaitant šiuos dalykus:

Norėdami gauti daugiau informacijos, kviečiame perskaityti mūsų straipsnį „ Objektinis programavimas: Apibrėžimas.

Susiję pagrindai

Kaip visada sakėme, programavimas nėra atskiras įvykis, todėl visada svarbu prisiminti kai kurias susijusias sąvokas. Šia proga pakanka atkreipti dėmesį į šiuos aspektus:

„Java“ programavimo kalba

„Java“ yra viena seniausių duomenų programavimo kalbų; jis taip pat yra populiarus daugelyje platformų. Šiuo atžvilgiu galime paminėti, kad daugelis šiandieninių kompiuterių programų yra pagrįstos šia svarbia kalba.

Kalbant apie paskutinį aspektą, pirmiausia galime paminėti programas, susijusias su žiniatinklio paslaugomis. Pavyzdžiui: programos mobiliesiems, darbalaukis, serveriai ir kt.

Kita vertus, „Java“ priklauso į objektą orientuoto programavimo paradigmai. Šiuo atžvilgiu, nepaisant savo pobūdžio, ji laikoma patikima, saugia ir lengvai vartojama kalba.

Be to, jos pranašumas yra galimybė veikti bet kurioje „Java“ virtualioje mašinoje, nepriklausomai nuo kompiuterio architektūros. Kitaip tariant, „Java“ yra nešiojama programavimo kalba.

dizainas-modeliai-java-2

Dizaino modelis

Projektavimo modelis yra dizaino problemos, kuri dažnai pasitaiko programuojant į objektą, sprendimas. Be to, šioje diagramoje pateikiamas objektų aprašymas pagal klases ir ryšiai, jungiantys juos.

Kita vertus, svarbu paminėti, kad dizaino modeliai apskritai yra ankstesnės programuotojų patirties rezultatas. Be to, „Java“ dizaino modeliuose nėra teorijų, kaip tai daroma naudojant kitus programavimo elementus, pvz. algoritmai.

Kokie yra „Java“ dizaino modeliai?

Kaip jau minėjome, dizaino modelis yra objektų diagrama, kuri atitinka programavimo problemos sprendimo tikslą. Dabar „Java“ dizaino modeliai Jie atspindi problemos sprendimą, įkūnytą programoje, parašytoje šia konkrečia programavimo kalba.

Kokie yra „Java“ dizaino modeliai?

Apskritai galime kalbėti apie 23 „Java“ dizaino modeliai. Šiuo požiūriu jie pirmą kartą buvo atskleisti 1995 m., Išleidus knygą „Dessing Patterns“.

Kita vertus, kaip jau minėjome, šie modeliai yra būtini sprendžiant galimas naujas problemas. Be to, jie yra žinomų problemų atsakymai, kilę iš ankstesnės programuotojų, besispecializuojančių objektinėje paradigmoje, patirties.

„Java“ dizaino modelių tipai

Apskritai, kiekvienas iš 23 pagrindinių dizaino modelių yra suskirstytas į vieną iš trijų bendrų tipų „Java“ dizaino modeliai kurie egzistuoja. Tokiu būdu žemiau parodysime išsamią informaciją apie kiekvieną iš jų.

dizainas-modeliai-java-3

Konstrukcijos modeliai

Pagrindinė statybos modelių funkcija yra organizuoti objektų kūrimą, įtraukiant betono klasių naudojimą ir skatinant sąsajas tarp jų. Šiai modelių klasei priklauso šie:

Abstrakti gamykla

Ji yra atsakinga už objektų, sugrupuotų kaip šeima, kūrimą, neatsižvelgiant į konkrečias klases, per kurias objektai formuojami.

Statybininkas

Tai suteikia galimybę kurti sudėtingus objektus, neatsižvelgiant į jų įgyvendinimą arba, kitaip tariant, įvairius įgyvendinimus.

Gamyklos metodas

Pagrindinė šio modelio funkcija yra perduoti objekto kūrimą tam tikriems poklasiams. Šiuo atžvilgiu tai pasiekiama naudojant abstraktų metodą.

Prototipas

Tai palengvina naujų objektų kūrimą iš prototipų dubliuojant ar klonuojant esamus objektus.

Singletonas

Šio modelio funkcija yra valdyti klasių, turinčių tik vieną egzempliorių, egzistavimą, taip pat pateikti metodą, galintį grąžinti minėtą egzempliorių.

Šiuo atžvilgiu daugiau informacijos rasite kitame vaizdo įraše.

Struktūrizavimo modeliai

Savo ruožtu struktūrizavimo modeliai yra atsakingi už klasių hierarchijų ir jas susipynusių santykių organizavimą. Šioje klasifikacijoje yra šie:

Adapteris

Ji yra atsakinga už esamos klasės sąsajos pakeitimą į kitą, turinčią sistemos vartotojų pageidaujamas charakteristikas, kad abi būtų suderinamos. Trumpai tariant, adapterio modelis yra atsakingas už esamo objekto pritaikymą.

Tiltas

Pagrindinė šio modelio funkcija yra atitraukti koncepcinius aspektus, priklausančius klasės hierarchijai, nuo jos įgyvendinimo. Kitaip tariant, šis modelis yra atsakingas už objekto įgyvendinimą.

Sudėtinis

Šio tipo modelis yra atsakingas už medžio dizaino rėmo generavimą, gaunamą iš kintamo gylio objektų sudėties. Kitaip tariant, tai yra atsakinga už objektų hierarchinės sudėties organizavimą.

Dekoratorius

Jis naudojamas objektui pridėti naujų funkcijų, daugiausia dinamiškų, kad jį papildytų. Šiuo atžvilgiu šio modelio rezultatas yra esamo objekto pakeitimas.

Apie šį modelį galite gauti daugiau informacijos iš šio vaizdo įrašo.

Fasadas

Pagrindinis jo tikslas yra palengvinti objektų sąsajos naudojimą, kad keli iš jų būtų sugrupuoti ir sujungti į vieną. Kaip ir ankstesniame pavyzdyje, galutinis rezultatas yra objektų serijos pakeitimas.

Plekšnė

Apskritai, „Flayweight“ modelis yra atsakingas už objektų serijos bendrinimo procesą, ypač tuos, kurie turi itin smulkų detalumą. Be to, ji yra atsakinga už nepriklausomos jų valstybės išlaikymą.

Įgaliojimas

Pagrindinė tarpinio serverio modelio funkcija yra sukurti objektą, kurį galima pakeisti kitu, kuris visiškai kontroliuoja jo prieigą. Šiuo požiūriu jo tikslas iš esmės yra sudaryti idealias sąlygas objekto optimizavimui ir apsaugai.

Elgesio modeliai

Galiausiai, elgesio modeliai yra tie, kurie teikia sprendimus, kaip sutvarkyti duomenis ir objektus, be to, jie nustato tvarką tarp pastarųjų sąveikos. Šioje modelių grupėje galime rasti:

Atsakomybės grandinė

Kaip rodo jo pavadinimas, šis modelis reiškia objektų grandinės sukūrimą, todėl kai vienas iš jų negali atsakyti į nurodymą, kita nuoroda gali duoti atitinkamą atsakymą.

Komanda

Pagrindinis šio modelio tikslas yra užklausą paversti objektu taip, kad būtų lengviau atlikti susijusias pagrindines operacijas. Tai yra, jo funkcija yra užklausą paversti objektu.

vertėjas

Tai reiškia galimybę pasiūlyti kalbos vaizdavimą per gramatinius objektus. Taip, kad tos kalbos rašytines išraiškas būtų galima lengvai įvertinti ir interpretuoti.

Jei norite daugiau informacijos apie tai, galite žiūrėti šį vaizdo įrašą.

Iteratorius

Pagrindinė jo funkcija yra leisti nuosekliai pasiekti objektų grupę, sistemos vartotojams nereikia žinoti su jų įgyvendinimu susijusių aspektų.

Tarpininkas

Kaip rodo jo pavadinimas, šis modelis yra atsakingas už objekto kūrimą, kuris veikia kaip tarpininkas tarp objektų sąveikos, jiems nesąveikaujant.

Atminimo dovana

Apskritai tai yra vienas iš svarbiausių modelių, nes būtent jis yra atsakingas už objektų būklės atkūrimą ir apsaugą. Šiuo atžvilgiu turime pažymėti, kad pagrindinė šio modelio sąlyga yra pagarba klasėms.

Stebėtojas

Pagrindinė šio modelio funkcija yra pranešti stebėtojams apie objekto pakeitimus, kad jie galėtų atnaujinti savo būseną.

Valstybės

Šio modelio tikslas yra gana lengvai suprantamas, nes jis yra atsakingas už galimybę suteikti objektui galimybę pakeisti savo elgesį, atsižvelgiant į jo vidinę būseną.

Strategija

Tai palengvina objekto elgesio ir algoritmų pritaikymą, priklausomai nuo to, ar yra ar nėra konkretaus sistemos poreikio. Atsižvelgiant į tai, taikant šį modelį, objekto ir sistemos vartotojų sąveika neturėtų būti keičiama.

Šablono metodas

Šis modelis yra atsakingas už atitinkamos ataskaitos apie objekto operacijas etapų, aprašytų poklasiuose, sudarymą. Kitaip tariant, reikia perduoti tam tikrus objekto operacijų etapus į poklasius.

lankytojas

Ji yra atsakinga už reikalingos operacijos, susijusios su objektų serijos elementais, sukūrimą, jų klasėse neįvykstant jokių pakeitimų. Trumpai tariant, šis modelis yra atsakingas už naujų operacijų pridėjimą prie objektų serijos.

„Java“ išdėstymo modelių pranašumai

Apskritai galime pasakyti, kad pagrindinis privalumas „Java“ dizaino modeliai yra tai, kad jie leidžia kurti sudėtingas ir patikimas programas. Be to, tai suteikia galimybę pakartotinai naudoti jau žinomus sprendimus kuriant naujus sprendimus.

Kita vertus, naudojant „Java“ dizaino modeliaiDizaineriai ir kūrėjai apskritai gali sustiprinti žinias apie objektinį programavimą. Šiuo atžvilgiu tarp pagrindinių šios programavimo paradigmos pagrindų galime paminėti šiuos dalykus: polimorfizmas, paveldėjimas, kapsuliavimas ir kt.

Kaip atpažinti, kuris dizaino modelis tinka mūsų problemai?

Norėdami nustatyti, kuris „Java“ dizaino modelis geriausiai atitinka konkrečią programavimo problemą, pirmiausia turime žinoti jo tikslą. Tokiu būdu, kai mes ištyrėme bendrą kiekvieno dizaino modelio aprašymą, kitas dalykas yra pereiti prie adaptacijos etapo.

Šiuo atžvilgiu tai reiškia galimybę, kad bendra modelio struktūra prisitaiko prie mūsų problemos. Norėdami tai padaryti, mes pervardijame šios struktūros klases ir metodus ir abstrakčiai integruojame juos į savo programą, kad galėtume patikrinti, ar modelis tikrai gali patenkinti mūsų poreikius.

Galiausiai, jei einame teisingu keliu, paskutinis žingsnis yra pavadinti šias klases ir metodus pagal aprašomą objektą ir jų atliekamas operacijas. Šiuo atžvilgiu svarbu pažymėti, kad kai kuriais atvejais būtina atlikti objekto diagramos pakeitimus.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: „Actualidad“ tinklaraštis
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.