Veebirakenduse koodi ja projekti struktureerimiseks on mitmeid viise ja võite arhitektidesse mõelda nii palju kui vähegi soovite. Kuid tavaliselt on hea järgida levinud mustreid, kuna see aitab meil oma koodi teistele paremini mõista ja hõlpsamini hallata. Selles artiklis me uurime PHP-s.
Järgmisi näpunäiteid käsitletakse selles artiklis,
Selle artikliga PHP kujundusmustrite kohta edasi liikudes
Kujundusmustrid
Üldine korduvkasutatav lahendus levinud probleemidele ilmneb tarkvara kujunduses, mille pakuvad PHP-s olevad kujundusmustrid. Klasside või objektide vahelisi seoseid ja interaktsioone näitavad mustrid. Seda kontseptsiooni kasutatakse arendusprotsessi kiirendamiseks, pakkudes hästi testitud, tõestatud arendus- / disainiparadigmat. Nad programmeerivad keelest sõltumatuid strateegiaid ühise probleemi lahendamiseks, mis esindab ideed, mitte konkreetset teostust. Kujundusmustrite abil saate muuta oma koodi paindlikumaks, korduvkasutatavamaks ja hooldatavamaks. Kujundusmustreid on kolme tüüpi. st loominguline, struktuurne, käitumuslik.
klassi java eksemplar
Loomemustrid : Neid kasutatakse objektide ehitamiseks nii, et neid saaks nende rakendussüsteemist lahti siduda
Struktuursed mustrid: Neid kasutatakse paljude erinevate objektide vahel suurte objektistruktuuride moodustamiseks
Käitumismustrid: Neid kasutatakse objektide vaheliste algoritmide, seoste ja vastutuse haldamiseks
Selle artikliga PHP kujundusmustrite kohta edasi liikudes
mida teeb tostring javas
Kujundusmustrite näited
Selle artikliga PHP kujundusmustrite kohta edasi liikudes
Tehas
See on loominguline kujundusmuster, mis lahendab tooteobjektide loomise probleemi ilma nende konkreetseid klasse täpsustamata. See on üks kõige sagedamini kasutatavaid kujundusmustreid. Kui kasutame tehase mustrit, eraldame esemete valmistamise spetsiaalsesse klassi, mille peamine vastutus on esemete valmistamine. Vaatleme järgmist tehasemustri näidet:
companyType = $ productBased $ this-> companyName = $ Amazon} avalik funktsioon DesignModel () {return $ this-> companyType. '. $ this-> companyName}} klass DevelopProduct {public static function create ($ productBased, $ Amazon) {return new Product ($ productBased, $ Amazon)}} $ obj = DevelopProduct :: create ('automatiseerimine', 'pilveteenus' ) print_r ($ obj-> DesignModel ())?>
Ülaltoodud kood kasutab toote Product loomiseks tehast. Selle koodi koostamise eelised on järgmised:
- Kui soovite hiljem tooteklassi muuta, ümber nimetada või asendada, saate seda teha ja peate oma projekti kõigi kohtade asemel, kus kasutatakse tooteklassi, koodi muutma ainult tehases.
- Selle asemel, et seda korrata iga kord, kui soovite uue eksemplari luua, võite teha kogu töö tehases. Kui objekti loomine on keeruline töö.
- Suurte või keerukate projektide tegemiseks ei pruugi tehased sobida.
Selle artikliga PHP kujundusmustrite kohta edasi liikudes
Singleton
Klassi eksemplari piiramiseks ühe objektiga kasutatakse üksikmustrit, mis võib olla kasulik, kui kogu süsteemis on vaja ainult ühte objekti. Tihti on mõistlik kontseptuaalselt ja arhitektuuriliselt lubada veebirakenduste kujundamisel juurdepääs ühe ja ainult ühele konkreetse klassi eksemplarile. Klassist objektide otsese loomise vältimiseks kasutatakse privaatset konstruktorit.
Ainus viis klassist eksemplari loomiseks on staatilise meetodi kasutamine, mis loob objekti ainult siis, kui see pole veel loodud. Klass peab pakkuma ainulaadsele eksemplarile globaalse juurdepääsu. Lõpuks jõuavad kõik muutujad samale üksikule objektile, kuna piirame klassis loodavate objektide arvu ainult ühele. Koodi järgimine näitab singletoni kontseptsiooni mõistet. Selle rakendamine põhineb staatilisel meetodil loomisel getInstance ().
mis vahe on ülekoormamisel ja ületamisel
Sellega jõuame artiklini PHP kujundusmustrite kohta. Kui leiate, et see jaotis PHP ajaveebis on asjakohane, vaadake järgmist autor Edureka, usaldusväärne veebiõppeettevõte, mille võrgustik koosneb enam kui 250 000 rahulolevast õppijast ja mis levib üle kogu maailma.
Kas teil on meile küsimus? Palun mainige seda kommentaaride jaotises ” jagada PHP-s ”Ja pöördun teie poole tagasi.