Keresés

Aktív témák

  • loszerafin

    senior tag

    Olvasgatom itt a flame-et az "OOP miért jó?" témáról. Lehet, hogy elsiklottam fölötte, de a lényeg talán nem világos:
    Az OOP-t az "élet" kényszerítette ki. A sok befejezetlen, rossz IT project, a betartatlan határidők, túllépett keretek, a programozás minőségének ellenőrizhetetlensége. (stb)
    A szakirodalom szerint főleg 5 dolog miatt kell OOP:
    1 kód újrafelhasználhatóság
    2 megbízhatóság
    3 hajlékonyság
    4 kiterjeszthetőség
    5 karbantarthatóság

    Szerintem még van 1 fontos dolog: 6. kiforrott technológia segít OOP programokat írni.

    Hogy éri el a célját az OOP programozó?
    Kicsi, átlátható, tesztelhető apró darabokra vágja a problémát. A darabok egy kicsi részproblémát oldanak meg, da azt NAGYON JÓL. Gyorsan, hatékonyan, ellenőrzötten, tesztelten jól működik a kicsi program. A kicsi probléma jól körülhatárolt, világosan specifikált, a megoldása tömör, jól dokumentált, az API-k kiforrottak, könnyen kezelhetőek.

    Ezért ezek a kis részproblémákat megoldó programok könnyen felhasználhatók más programozók által, más projektben is, nem csak ott, ahol készültek.

    A kis részproblémákat megoldó programokat összekapcsolják egymással, és így oldják meg az eredeti problémát. Az összekapcsolás kizárólag a dokumentált API-n keresztül történik, azaz NEM növelik a kis részek között a függést, a részek NEM látnak bele egymásba, nem módosítják egymást.

    Tehát a részek belseje (a kódsorok) nyugodtan cserélhetők, feljleszthetők, javíthatók, ha az API nem változik, nem borul a teljes program.

    Mivel a világban a problémák változnak, a programnak is változnia kell. Ehhez általában elég a kis részeket más sorrendben, más logikával "összeragasztani" -> gyorsan követhetik a programozók a világot.

    A 6. pont is nagyon fontos:
    OOP programnyelvekhez van pl. kód dokumentálás, UML, design patternek, unit tesztelés.
    Ezek nélkül is lehet programozni, csak nem érdemes. Ha vmit megcsinálhatunk jól, akkor nem érdemes rosszul megcsinálni.

    Mit nem lehet struktuális programozással megvalósítani?

    Hát pl. a polimorfizmust.

Aktív témák