Disainimustrid Java -s Mis need on ja millest need koosnevad?

Kas soovite teada, mis on disainimustrid Java -s? Olete jõudnud õige artikli juurde, sest siin ütleme teile, mis need on, samuti anname teile teada nende klassifikatsiooni ja natuke rohkem.

disain-mustrid-java-1

Objektide diagramm üldiste probleemide lahendamiseks.

Disainimustrid Java -s

Enne kui rääkida disainimustrid Java -s, peame märkima, et need on suunatud objektorienteeritud programmeerimisele. Teiseks on oluline meeles pidada mõningaid seotud põhitõdesid, sealhulgas järgmist:

Lisateabe saamiseks kutsume teid lugema meie artiklit nimega: Objektorienteeritud programmeerimine: Definitsioon.

Seotud põhitõed

Nagu me oleme alati öelnud, pole programmeerimine isoleeritud sündmus, seega on alati oluline meeles pidada mõningaid seotud mõisteid. Sel juhul piisab, kui viidata järgmistele aspektidele:

Java programmeerimiskeel

Java on üks vanimaid andmete programmeerimiskeeli; see on ka enamikul platvormidel populaarses kasutuses. Sellega seoses võime mainida, et paljud tänapäeval kasutatavad arvutirakendused põhinevad sellel olulisel keelel.

Selle viimase aspekti osas võime eelkõige mainida veebiteenustega seotud rakendusi. Näiteks: mobiilirakendused, töölaud, serverid, muu hulgas.

Teisest küljest kuulub Java objektorienteeritud programmeerimise paradigmasse. Sellega seoses peetakse seda vaatamata oma olemusele usaldusväärseks, ohutuks ja hõlpsasti kasutatavaks keeleks.

Lisaks on selle eeliseks võimalus töötada mis tahes Java virtuaalmasinas, olenemata arvuti arhitektuurist. Teisisõnu, Java on kaasaskantav programmeerimiskeel.

disain-mustrid-java-2

Disaini muster

Disainimuster on lahendus disainiprobleemile, mida objektorienteeritud programmeerimisel sageli esineb. Lisaks sisaldab see diagramm objektide kirjeldust klasside kaupa, samuti neid ühendavaid suhteid.

Teisest küljest on oluline mainida, et disainimustrid üldiselt on programmeerijate varasemate kogemuste tulemus. Lisaks ei ole Java kujundusmustrites teoreetilisust, nagu juhtub teiste programmeerimise elementidega, näiteks; algoritme.

Millised on Java kujundusmustrid?

Nagu me juba mainisime, on kujundusmuster objektdiagramm, mis täidab programmeerimisülesande lahendamise eesmärki. Nüüd disainimustrid Java -s need kujutavad endast probleemi lahendust, mis sisaldub selles konkreetses programmeerimiskeeles kirjutatud programmis.

Millised on Java kujundusmustrid?

Üldiselt võime rääkida 23 disainimustrid Java -s. Sellega seoses paljastati need esmakordselt 1995. aastal raamatu Dessing Patterns kaudu.

Teisest küljest, nagu me juba ütlesime, on need mustrid võimalike uute probleemide lahendamiseks hädavajalikud. Lisaks on need vastused teadaolevatele probleemidele, mis pärinevad objektorienteeritud paradigmale spetsialiseerunud programmeerijate varasematest kogemustest.

Java kujundusmustrite tüübid

Üldiselt liigitatakse kõik 23 põhilist disainimustrit ühte kolmest üldisest tüübist disainimustrid Java -s mis on olemas. Sel viisil näitame allpool igaühe üksikasju.

disain-mustrid-java-3

Ehitusmustrid

Ehitusmustrite põhiülesanne on objektide loomise korraldamine, hõlmates betoonklasside kasutamist ja edendades liideseid nendevahelistes suhetes. Sellesse mustriklassi kuuluvad järgmised:

Abstraktne tehas

Ta vastutab perekonnaks rühmitatud objektide loomise eest, võtmata arvesse konkreetseid klasse, mille kaudu objektid moodustuvad.

Ehitaja

See pakub võimalust luua keerukaid objekte sõltumata nende teostusest või teisisõnu erinevate teostuste kaudu.

Tehase meetod

Selle mustri põhiülesanne on delegeerida objekti loomine konkreetsetele alamklassidele. Sellega seoses saavutatakse see abstraktse meetodi abil.

Prototüüp

See hõlbustab uute objektide loomist prototüüpidest olemasolevate objektide dubleerimisel või kloonimisel.

Singleton

Selle mustri ülesanne on hallata klasside olemasolu, millel on ainult üks eksemplar, ning pakkuda meetodit, mis suudab nimetatud eksemplari tagastada.

Sellega seoses näete järgmises videos rohkem teavet.

Struktureerimismustrid

Struktureerivad mustrid vastutavad omakorda klasside hierarhiate ja neid põimivate suhete korraldamise eest. Selles klassifikatsioonis on järgmised:

Adapter

Ta vastutab olemasoleva klassi liidese muutmise eest, mille omadused on kasutajatele soovitud, nii, et mõlemad ühilduvad. Lühidalt, adapteri muster vastutab olemasoleva objekti kohandamise eest.

Bridge

Selle mustri põhiülesanne on eraldada klassi hierarhiasse kuuluvad kontseptuaalsed aspektid selle rakendamisest. Teisisõnu, see muster vastutab objekti rakendamise eest.

Liit-

Seda tüüpi muster vastutab puu kujundusraami genereerimise eest, mis pärineb muutuva sügavusega objektide koostisest. Teisisõnu, see vastutab objektide hierarhilise koostise korraldamise eest.

Sisustaja

Seda kasutatakse objektile uute, peamiselt dünaamiliste funktsioonide lisamiseks, et seda täiendada. Sellega seoses on selle mustri tulemus olemasoleva objekti asendamine.

Selle mustri kohta saate lisateavet järgmise video kaudu.

Fassaad

Selle peamine eesmärk on hõlbustada objektide liidese kasutamist, nii et mitu neist koondatakse ja ühendatakse üheks. Nagu eelmises mustris, on lõpptulemuseks objektide seeria asendamine.

Flay kaal

Üldiselt vastutab Flayweight muster objektide seeria jagamisprotsessi eest, eriti nende objektide puhul, millel on äärmiselt peeneteralisus. Lisaks vastutab ta nende iseseisva riigi hoidmise eest.

Volikiri

Puhverserveri mustri põhiülesanne on ehitada objekt, mille saab asendada teisega, millel on täielik juurdepääsukontroll. Sellega seoses on selle eesmärk peamiselt pakkuda ideaalseid tingimusi objekti optimeerimiseks ja kaitseks.

Käitumismustrid

Lõpuks on käitumismustrid need, kes pakuvad lahendusi andmete ja objektide korraldamiseks, lisaks kehtestavad nad järjestuse viimastes toimuvate interaktsioonide vahel. Selles mustrite rühmas võime leida järgmist:

Vastutuse ahel

Nagu nimigi ütleb, viitab see muster objektide ahela loomisele, nii et kui üks neist ei saa käsule vastata, saab järgmine link anda vastava vastuse.

käsk

Selle mustri peamine eesmärk on teisendada päring objektiks selliselt, et sellega seotud põhitoiminguid oleks lihtsam teostada. See tähendab, et selle ülesanne on muuta päring objektiks.

tõlk

See viitab võimalusele pakkuda keele esitamist grammatiliste objektide kaudu. Seda selleks, et selle keele kirjalikke väljendeid oleks lihtne hinnata ja tõlgendada.

Kui soovite selle kohta rohkem teavet, saate vaadata järgmist videot.

Iteraator

Selle peamine ülesanne on võimaldada järjestikune juurdepääs objektide rühmale, ilma et süsteemikasutajad peaksid teadma nende rakendamisega seotud aspekte.

Vahendaja

Nagu nimigi ütleb, vastutab see muster sellise objekti ehitamise eest, mis toimib vahendajana objektide interaktsioonide vahel, ilma et need otseselt suhtleksid.

Mälestusese

Üldiselt on see üks olulisemaid mustreid, kuna just tema vastutab objektide seisundi taastamise ja kaitsmise eest. Sellega seoses peame märkima, et selle mustri põhitingimus on klasside kapseldamise austamine.

vaatama

Selle mustri põhiülesanne on teavitada vaatlejaid objektis toimunud muudatustest, et nad saaksid oma olekut värskendada.

riik

Selle mustri eesmärki on üsna lihtne mõista, kuna selle ülesandeks on pakkuda objektile võimalust muuta oma käitumist selle sisemise oleku põhjal.

Strateegia

See hõlbustab kohanemist objekti käitumise ja algoritmide vahel, sõltuvalt süsteemi konkreetse vajaduse olemasolust või mitte. Sellega seoses ei tohiks objekti ja süsteemi kasutajate vahelist suhtlust selle mustri rakendamise ajal muuta.

Malli meetod

See muster vastutab alamklassides kirjeldatud objekti toimingute etappide kohta vastava aruande koostamise eest. Teisisõnu on tegemist mõne objekti toiminguid moodustava etapi delegeerimisega alamklassidesse.

Külaline

Ta vastutab objektide seeria elementidega seotud vajaliku toimingu loomise eest, ilma et nende klassides toimuksid muudatused. Lühidalt, see muster vastutab objektide seeriale uute toimingute lisamise eest.

Paigutusmustrite eelised Java -s

Üldiselt võib öelda, et selle peamine eelis disainimustrid Java -s on see, et need võimaldavad luua keerukaid ja tugevaid rakendusi. Lisaks pakub see võimalust kasutada juba tuntud lahendusi uute lahenduste kujundamisel.

Teisest küljest, kasutades disainimustrid Java -s, disainerid ja arendajad üldiselt saavad tugevdada oma teadmisi objektorienteeritud programmeerimisest. Sellega seoses võime selle programmeerimisparadigma peamiste aluste hulgas nimetada järgmist: polümorfism, pärimine, kapseldamine, muu hulgas.

Kuidas ära tunda, milline disainimuster sobib meie probleemiga?

Et teha kindlaks, milline Java -kujundusmudel vastab konkreetsele programmeerimisprobleemile kõige paremini, peame kõigepealt teadma selle eesmärki. Sel viisil, kui oleme uurinud iga kujundusmustri üldist kirjeldust, tuleb järgmisena liikuda kohanemisjärku.

Sellega seoses viitab see võimalusele, et mustri üldine struktuur kohandub meie probleemiga. Selleks nimetame selle struktuuri klassid ja meetodid ümber ning integreerime need abstraktselt oma rakendusse, et testida, kas muster on tõesti võimeline meie nõudmistele vastama.

Lõpuks, kui oleme õigel teel, on viimane samm nimetada need klassid ja meetodid vastavalt nende kirjeldatavale objektile ja toimingutele. Sellega seoses on oluline märkida, et mõnel juhul on vaja objektide skeemi muuta.


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: ajaveeb Actualidad
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.