former for design: simpel fabrik mønster

, design mønstre: simpel fabrik mønster,,,,, 191,,,,,,,,, 21,,,,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss. denne post er en del af en serie kaldet design mønstre i folkesundhedsprogrammet. design mønstre: den strategi, patterndesign mønstre: kommando - mønster, når du tænker på en fabrik, hvad der kommer til at tænke på?for mig er det et sted, hvor alt er skabt - det er, er det et centralt placeret, hvor ting er produceret.senere, levering af varer er gjort af fabrikken, baseret på en ordre, lad os sige, at du beder om en bil.en fabrik, vil skabe en baseret på specifikationer for arbejde for, og så vil levere den, når den er færdig., ligesom deres virkelige verden, en software factory (det er software, der gennemfører fabrikkens design -), er et objekt, der er ansvarlig for at sikre, at andre objekter, baseret på nye parametre.  , er der tre varianter af fabrikken mønster:,,, simpel fabrik mønster.  , giver dette grænseflader for at skabe ting uden at udsætte genstand oprettelse logik til kunden,.,, fabrik metode mønster.  , giver dette grænseflader for at skabe ting, men gør det muligt at fastslå, hvilken klasse til instantiate underklasser. abstrakt fabrik mønster.  , i modsætning til de to ovennævnte mønstre, et abstrakt fabriken grænseflade til at skabe af beslægtede objekters uden angivelse af /udsætter deres klasser.vi kan også sige, at det er et objekt i en anden virksomhed, der er ansvarlig for at skabe nødvendige genstande.,,,, så lad os antage, at du har en bil, klasse, der indeholder alle relevante egenskaber og metoder til en bil.i er det mest grundlæggende form, du vil skabe det sådan her:,, $bil = nye car();, straks, som tiden går, at der er behov for en ændring af, hvordan bilen objekt er skabt.vi er nødt til at skabe klasse genstande, som er baseret på en vogn - - i stedet for bare en bil.så du er nødt til at foretage ændringer i alle de steder, hvor du har skabt genstand for denne bil klasse.  , men som tiden går, vil der uundgåeligt skal være ændringer i, hvordan bilen objekt er skabt.for eksempel, er vi nødt til at oprette klasser baseret på en bil, type, snarere end blot bil.som sådan  , i stedet for at gøre det, ville det være en bedre beslutning om at oprette en gruppe, der gennemfører fabrikkens mønster.  , er løsningen, i det foregående afsnit vi erkendte, at vi skaber et objekt af type bil ved hjælp af nye nøgleord.og senere, er det besluttet at oprette en genstand af bilen, klasse, men baseret på bilen type som sedan, suv osv.,,, enten skal vi bilen typen oprettelse kode på alle steder, hvor der kræves eller gennemføre fabrik til at håndtere det på en effektiv måde.se venligst under kode blok, som viser gennemførelsen af enkelt fabrik mønster.,, <?php klasse carfactory {offentlige funktion __construct() (//...//} offentlige statisk funktion bygge ($type = '') (hvis ($type = '') (kaster ny undtagelse ('invalid bil type. ');} andre ($classname = car_. ucfirst ($); //- klasse filer er allerede fyldt med autoload koncept, hvis (class_exists ($classname) {tilbage nye $classname();} andre {kaete nyt undtagelse ('car type ikke fundet.');}}}}, i ovennævnte klasse, kan du se, at vi har en statisk metode til rådighed, som er ansvarlig for at skabe det objekt, baseret på den type du passerer.nu har vi brug for konkrete grupper af forskellige bil typer som det, vi har nævnt nedenfor:,, <?php klasse car_sedan {offentlige funktion __construct() (echo - "skabe sedan"}} klasse car_suv {offentlige funktion __construct() (echo - "skabe suv"), på dette punkt har vi vores fabrik og konkrete klasser, klar til brug, så lad os øve på det for at kræve bil - objekter,.,, ////////at skabe nye sedan $sedan = carfactory: bygge ('sedan); //skabe nye suv $suv = carfactory: bygge ('suv), tilføjelse af nye klasse, tilføjelse af en ny klasse er enkel: skabe en konkret klasse, og du er klar til at gå.for eksempel:,, <?php klasse car_luxury {offentlige funktion __construct() (echo - "skabe luksus"}} //skabe nye luksus $luksus = carfactory: bygge ('luxury);,, konklusion, når det kommer til fabrikken mønster, overveje at anvende nye nøgleord for at skabe en ny genstand som skadelige.fabrikken, giver os mulighed for at have en central placering - alle vores ting er skabt.,,



Previous:
Next Page: