Miért van szükség a PFSZ
Dmitry. Valószínűleg rosszul megfogalmazott ő ötlete volt. de tudtam, hogy ez:
Itt már samopisnaya CMS. Itt van egy csomó új funkciók és tartalmak az adatbázisból gyűjtő (modell típus), de rengeteg új funkciók és tartalmak a végéhez kimenet (típus nézet).
Itt van egy változata a végső prezentáció, és itt van még egy. Modell mindenhol ugyanaz, és tekintettel részben fedik egymást.
Azt gondoltam - nos, Cho, miért nem tudja ezt a PFSZ-szel? Azt összeszerelt modell minden egy fedél alatt - vált sokkal kényelmesebb, hogy hívja őket hülye:
$ X = új SampleModel ();
$ Y = $ x-> prepareAuthorsList ();
$ V = új TemplateXYZ (); (Amely örökölt TemplateBase)
$ W = $ v-> showAuthors ($ y);
törölje a nevét egy teljesen hagyományos :)
helyett "printAuthorsListFromDBforBootstrapTemplate (mulon paraméterek)"
Összegyűjtöttem. Hülyeség volt kényelmes. A folyamat során a gyűjtése kiderült, hogy része a „vyushnyh” funkciók különböző csappantyúk nem különbözik - durván szólva, és ott Majd kimenet- *<>
De talán nem ez a PFSZ :)
És akkor a PFSZ logika nem kenődik egész programot. És két tucat lokalizált mezők és módszerek az osztály 60 finom láthatóság javítására. A procedurális elemek természetesen nem helyettesíti nélkül párja tambura.
Szarvasmarha-PFSZ programot átírni a semmiből, ahányszor szarvasmarha és kezelési programokat. Jól megírt programok olvasni és szerkeszteni, minden gond nélkül, ha bármilyen a paradigmák.
Ennek eredményeként, a használata OOP elvek időt takaríthat meg, és erő fejlesztése. Írástudatlan PLO (PFSZ vagy tapasztalatlanságuk) lehetővé teszi, hogy lőni magát a térd, és - olvasófejéhez 37 alkalommal.
OOP árnyoldala - osztályok általában egyetemes kell működtetnie stabilan minden körülmények között érvényes paraméterekkel. Gyakran ez azt eredményezi, több ellenőrzés, ugyanolyan feltételekkel, ha nehézségei vannak elemek (néha közel a buldózer, de néha nem), extra igények (például, hogy megoldja a problémát egy osztály túl sok funkciók). Mindez vezethet is a teljesítmény csökkenésével.
Általában van valami gondolni. És rake bővelkedik.
Meg akartam kérdezni, hogy diák? Aztán felnézett, nem, vebist. Vebistam PLO igazán szükség rendkívül ritka; ha nem érintkeztek a ravasz támogató komplex protokollokat, vagy összetett adatokkal modellek - a memóriában, nem szerepel az adatbázisban - írhat anélkül, hogy a PFSZ és sikeres legyen vebistom.
Magam sokáig nem értette, mik ezek a tárgyak. A nagy kérdés: MIÉRT?
Annak érdekében, hogy közvetítse a kölcsönhatás a dolgok halom. Ahol nincs kölcsönhatás, nincs a PFSZ, és lehet gyakorolni, mint a tudományos számítástechnika, amely kevesen vagyunk képesek műrepülő, és általában a PFSZ nem tudom. Emlékszem, hogy Wasserman - ugyanazon, ha a programozó műszaki eljárások - sokáig jutott, amit a PFSZ.
Azt javaslom, hogy kezdjük egy egyszerű.
1. Tárgy szintaxis. Ez volt ...
Ez lett szebb. És a szám a kutya véletlenül át, például ahelyett, hogy a fegyverek száma; típusú TMonster ez a trükk nem fog működni.
2. tokozást.
Már gondoltam, hogy a funkció hívásokat nem okoz az objektumot „helytelen” állapotban, és mindent, ami rontja a tárgy - felhúzott magán.
3. absztrakció és örökségét. Ez a „komplex műrepülő.” Nem a legmagasabb - szerves része a jó programozási ismeretek, és 80% a feladatok nem kell, de a maradék 20 és jelentősen javítja az élet. A legegyszerűbb példa. Bizonyos 2D-játéknak TGameObject, melynek virtuális függvény és élő render. Az elsőnél ciklus „élet” a tárgy, a második húz meg a képernyőn. TGameObject osztható TPlayer, TProjectile, TEnemy és TBonus stb
Ja. A PFSZ nem kell egy objektum-orientált nyelv és az objektum szintaxis, szükség van egy objektum-orientált gondolkodás. Például Doom C-ben íródott, de egy nagyon objektum stílusát.
Egy egyszerű és praktikus, például
1) meg kell csatlakoztatni a helyszínen platozhku
a) levelet a kölcsönhatás a föld maga (drága és nem költséghatékony)
b) az elkészült évfolyam, ha szükség van otnasledovat és átírni néhány módszer (gyorsabb és biztonságosabb)
2) Tegyük fel, néhány könyvtár (vagy CMS), mint a Biblia. IdiORM, kernel-kód (kernel alapvető osztályok) nem változnak, és öröklik az osztályban átírni számos hasznos módszerek 5-10 éves kódját a projekt nem elavultak, mivel a kernel lehet frissíteni anélkül, hogy elszakadna a projekt, és az összes iskola és a sebezhetőség 10 éves az Ön számára, hogy megszüntesse a könyvtár frissítésével vagy cms
3) lehetővé teszi a OPP, hogy gyorsabban fejlődnek, mint például alapján kész könyvtárak és keretek betét rekordok a táblázat a következőképpen nézhet ki
funkcionális design ez nem valósul meg
PS sajnos nem minden, hogy értékesítik a PFSZ, hatékonyan hajtsák végre. Vannak példák a visszaélés a PFSZ, és fordítva összetettsége megértése a kódot, de ez nem jelenti azt, hogy ne használja OOP megközelítés.
A legtöbb finomságok a C ++ nyelv öröklési és virtuális függvények.
Ezen túlmenően, a zárt osztály tagjai a megbízhatóság növelése érdekében, és véd a hibákat.
A legszörnyűbb dolog programozás C-ben használni a globális változókat. Tudja, hol lehet megváltoztatni, és túl nehéz megváltoztatni a viselkedését a program. És ha ez az, hogy a változás a változó egy helyen (az osztályban), akkor nagyon könnyen módosítható a viselkedését az osztály.
És persze nagyon hasznos, ha a munkamódszereket az objektum (osztály) vannak tárolva egy helyen.
A PHP OOP van szükség, ha több funkciót kell, hogy hozzáférjenek megosztott változókat.
Anélkül, hogy a PFSZ kellene írni a kódot, mint például:
Az OOP, írhat:
OOP nélkül szerver oldali webes alkalmazás a következőképpen nézhet ki:
A SEN mivel (amint látható realizovaly modulok osztályok, amelyek csak az egyik módszer, azaz az osztály szükségtelen itt):
De ha a PHP óta használják a nem halálos, szerver, és a kliens alkalmazás, amely létrehozta a vizuális része a tartani a memóriában sokáig, és felhasználói beavatkozás változtatni, majd a PFSZ lehet kényelmes. De aztán megint, a PFSZ - ez csak egy módja a szervező a kódot, amely alapján mindegy rutinok (módszereket), és ez a módja a szervező nem mindenki szeret.