Milyen hátránya származik valakinek abból, ha nem full oop-ben ír meg egy összetettebb oldalt?
Hanem csak részben oop illetve inkább function-ök használatával?
Megnéztem pár "egyszerűbb" cms forráskódját, és nem valami világos hogy mi miért van, most az a jó fajta programozás, vagy csak a másolás védelme érdekében van megbonyolítva?
Fordítva kell gondolkozni.
Nem abból származik hátrányod ha nem használsz OOP-t, hanem abból származik előnyöd ha használsz.
A legnagyobb előnyök a kód újrafelhasználhatóság és az átláthatóság.
Minden osztály csak annyi feladatot lát el és annyi adatot tárol, amennyire feltétlenül szüksége van. Az interfacek elkülönítésével a hibák is jóval egyszerűbben javíthatók.
Persze ha ez lesz életed első OOP programja, akkor ezekből nem sokat fogsz észlelni, de ha folyamatosan gyakorlod akkor rá fogsz érezni, mint hogyan érdemes és áldani fogod a dolgot.
És nincs erre valami jó módszer, hogy tudjam azt a logikát követni, könnyebben megtanulni?
Pl. ott a litecart, az index fájl tele van define-al, meg 3-4 fájl be van kérve egymásba, satöbbi...
A világoin semmiféle hátrányod nem származik abból ha az oop-t hanyagolod. Sőt, bizonyos esetekben mellőzni is kell, bizonyos esetekben meg nincs is lehetőséged oop alkalmazására.
Itt egy-két vélemény:
Számos ismert kutató és programozó vizsgálta az OOP hasznosságát. Íme, egy nem teljes lista:
Luca Cardelli egy tanulmányt írt "Az objektumorientált nyelvek hibás mérnöki tulajdonságai" címmel.[1]
Richard Stallman írta 1995-ben: "Az OOP bevezetése az Emacs-ben nem jár egyértelmű előnyökkel; használtam OOP-t, amikor Lisp számítógépek ablakozó rendszerén dolgoztam, és nem értek egyet azzal az állítással, hogy ez a programozásnak egy magasabb szintje lenne."[2]
Egy Thomas Potok és társai által készített tanulmány[3] nem mutatott jelentős eltérést a produktivitásban az OOP és a procedurális programozás között.
Christopher J. Date megállapította, hogy az OOP és más technológiák – különösen a relációsak – összehasonlítása nehéz, mert az OOP-nek nincs egy közösen elfogadott, egzakt definíciója.[4] Date és Darwen[5] javaslatot tett az OOP egy elméleti kiegészítésére, amely OOP-t használ mint testreszabható típusrendszert, amely támogatja a relációs adatbázisokat.
Alexander Stepanov szerint az OOP matematikailag korlátozott nézőpontot biztosít, és szerinte "majdnem akkora átverés, mint a mesterséges intelligencia.
Paul Graham szerint az OOP célja, hogy egyfajta csordaszellemet képezzen, amely megakadályozza, hogy középszerű programozók középszerű cégeiknek túl nagy károkat okozzanak. Mindezt annak az árán, hogy cserébe lelassítja azoknak a programozóknak a munkáját, akik jobb vagy kompaktabb technikákat is ismernek.[7]
Joe Armstrong, az Erlang programozási nyelv feltalálója szerint "Az objektumorientált nyelvek problémája, hogy egy implicit környezetet is magukkal hoznak. Egy banánt kértem, de kaptam egy a kezében banánt tartó gorillát meg köré az egész dzsungelt."
Utolsó: ezt tetszik, és tényleg egyébként...
<?php
$var = 'value';
echo $var;
?> és ehelyett ez van
<?php
class Call
{
public $var;
public function set($var){
$this->var = $var;
}
public function get(){
return $this->var;
}
}
$call = new Call;
$call->set('value');
echo $call->get();
?>
Én nem lázítok, ha rám céloztál, csak a kérdezőnek válaszoltam. Eszem ágában nincs elvetni az oop-t, de a full oop szemléletet károsnak tartom. Ez ugyanis az oka a nagy, kövér, lassú, memóriazabáló programok elterjedésének. Kellenek az objektumok, nagyon is kellenek, de csak módjával.
Annak nincs semmi értelme, hogy mindent objektumba gyömöszöljön az ember, ha szükséges, ha nem.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!