Tut Object-Oriented Design haben einen Platz in der web-Entwicklung?
Ich arbeite bei einer web-Entwicklung, shop-so natürlich beschäftigen wir uns mit Benutzerprofile. Beim Umgang mit einer unserer Seiten, die ich bemerkte, dass gab es keine 'User' - Klasse, die mir komisch vorkam, da haben wir natürlich die Benutzer. Statt die Website basiert auf die Interaktion mit von DataRows (C#) zurückgegeben durch statische Methoden mit wenig bis gar keine Instanziierung. Ich bat meinen Chef darum, eine Klasse für den Benutzer und seine Antwort war, dass seit der Objekte müssen neu erstellt werden, so viel ist oft nicht Wert.
Ich bin relativ neu auf dem web-Entwicklung und es scheint ein bisschen wie eine Verschwendung zu haben, um Objekte zu instanziieren jedes mal die Seite neu aufgebaut wird, aber auf der anderen Seite habe ich immer gefunden, objektorientierte Programmierung, um nützlich zu sein. Also ich bin neugierig auf ein paar Meinungen, wie viel Euch der nutzen von OOP in der web-Entwicklung?
- Die ganze Zeit. Ohne es, web-Programmierung zunehmend schwieriger zu verwalten und verwendet eine Menge von Doppelarbeit.
- Wenn Sie möchten, dass nur Meinungen. dies sollte-community-wiki.
- Bessere Frage für Programmierer?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die einzige Zeit, die ich nicht verwenden OOP ist, wenn:
Ich bin momentan dabei, ein einfaches Projekt zu testen, eine gewisse Logik. Dies führt in der Regel auf die Schaffung der richtigen Klassen...
Bin ich mit Classic ASP (schon eine Weile, Gott sei Dank).
Ich bin nicht Programmieren.
Bearbeiten
3+ Jahre nach der Veröffentlichung des oben; ich bin Anhängen ein bisschen auf meine Antwort.
OOP ist Super und ermöglicht uns eine enorme Flexibilität für die mit mehreren Systemen interagieren mit den gleichen Daten /Logik. Jedoch, es ist sicherlich eine situation, in die Sie nicht die Mühe machen möchten, laden eine Menge von Objekten.. und Zwar, wenn Sie ganz einfach abrufen von Daten für die tabellarische Darstellung.
Abfragen einer Datenbank und bekommen einen einfachen Datensatz zurück, der unmittelbar emittiert, um den browser in der Regel nicht brauchen, OOP beteiligt. Als eine Angelegenheit von der Tat, möchten Sie vielleicht zu sidestep OOP komplett als tabellarische Daten in der Regel beinhaltet ein roll-up von anderen Informationen (Summen der untergeordneten Datensätze) und Sie normalerweise nicht wollen, ziehen Sie mehr Daten aus der Datenbank, als das, was Sie tatsächlich nutzen. dh. wenn Sie zeigt nur die Namen und E-Mail, die Sie wahrscheinlich nicht wollen, schnappen Sie sich den Benutzernamen, das ist nur Verschwendete Zyklen.
Nun, putting Informationen in einer DB in der Regel geht es darum, dass bestimmte business-Logik gefolgt wird. Zum Beispiel, dass der Benutzername folgt bestimmten Regeln. In diesen Situationen ist die Nutzung eines OOP-Stil hält die Dinge ein bisschen mehr gekapselt und einfach zwischen den Systemen übertragen.
So, Suche am konkreten Beispiel: ich würde nicht die Mühe mit mehr als der übergabe einer datatable an ein repeater, wenn Sie Daten, aber ich hätte eine user-Klasse, wenn ich dabei bin, eine neue zu erstellen oder betreiben, die Benutzer, um sicherzustellen, dass die business-Regeln korrekt befolgt werden.
Eine Frage: die Daten müssen gekoppelt werden mit der Funktion/Methode Aufrufe? Wenn nicht, OOP ist nicht notwendig.
Beste Ansatz sein könnte, um zu finden, ein leeres whiteboard, erstellen Sie eine high-level-Modell Objekt-Orientiertes Design, dann mit funktionalem Design, dann mit dem Verfahrensrecht. Sie vielleicht überraschen Sie sich selbst (und andere) mit den Ergebnissen. Die gleiche Sprache verwendet werden kann völlig unterschiedlich je nach Projekt. Wie bereits von @wj. OOP ist nur ein Paradigma, keine Angst zu Schritt außerhalb Ihres Komfort-zone und design mit einem anderen Paradigma.
Nehmen sich Zeit für die Gestaltung mit verschiedenen Paradigmen wird auch Ihnen helfen, wenn Sie nähern sich Ihrem Chef zu diskutieren, warum Sie sollte oder sollte nicht verwenden Sie das aktuelle Paradigma. Die meisten Chefs schätzen, dass Sie verbrachte die Zeit für die Forschung, bevor Sie nähert sich Ihnen mit einer Idee-dies ist nicht zu sagen, Sie nehme Ihre Idee, aber alle Experten gehen in potenziell bekommen Sie ein paar zusätzliche Minuten seiner/Ihrer Aufmerksamkeit.
IMHO (nicht persönlich nehmen), "objektorientierte Programmierung" gefallen hat mit die gerne von "Web 2.0" - ein Schlagwort sortiert, was bedauerlich ist; jetzt sehen Sie Entwickler zwingen, OOP, wo es wäre besser geeignet für den Einsatz FP oder PP.
Die besten professionellen Rat, den ich geben kann, ist das design (high-level auf den ersten, dann Tauchen unten) in mehrere Paradigmen (tun Sie Ihr bestes, nicht zu voreingenommen sein-halten Sie einen offenen Geist) und entscheiden, welche die besten Adressen, die Art, wie Ihre Anwendung funktioniert. In meiner 15-jährigen Erfahrung, dass 75+% der Zeit finde ich OOP nicht mehr notwendig zu sein, obwohl mein Aktuelles Projekt ist streng OOP.
Mehr wichtige/relevante Frage wäre, "Nicht-Objekt-Orientiertes Design haben einen Platz in meinem aktuellen web-Entwicklung?"
Obwohl Objekte machen es einfacher für einige Programmierer zu entwickeln, gelesen habe ich das perfekte Beispiel, wie man eine ganze website auch ohne OOP. Nicht einmal Unze. Überprüfen Sie die Letzte Seite in einem 20-seitigen Reihe mit dem Titel " Sauberes PHP:
http://okmaya.com/clean-php/clean-php-step-20/
Super einfach zu Folgen, saubere Art und Weise des Aufbaus einer gesamten website. Keine verwirrenden OOP, keine super verschachtelte Ordner, keine verrückten spaghetti-code zu Folgen, für die Stunden... Nur einfache, saubere und übersichtliche Funktionen, die ALLES, was Sie tun müssen, ohne den Einsatz von OOP. Und dieses Beispiel hat alles, von der Anmeldung/Registrierung Anmeldeinformationen, einen admin-Bereich (CMS), auch Datenbank-Befestigungen, um Ihnen den Einstieg, eine Suchfunktion, die verwendet mapquest API zu tun PLZ /lat-long-lookups... ich meine, es hat ALLES, was für ein core-Projekt oder website.
Warum überhaupt OOP? Sauber, und gut strukturiert prozeduralen code ist Super!!!
Auf das Thema OOP. Ich erinnere mich an eine andere Modeerscheinung, dass jeder dachte, es war cool, und jeder Tat es, aber dann herausgefunden, dass das Rauchen gab Sie eine ganze Reihe von Problemen.
Stick-das einfache, das halten, was Sie wissen. Ein Experte in PHP und Sie müssen sich nie zu abhängig von einem Rahmen wieder. Don ' T get begann mich mit OOP-MVC-Frameworks. Interpretierte Sprachen für das web nie dazu bestimmt waren, zu OOP. OOP fügt nur eine andere Ebene der Komplexität. Stoppen Sie, faul. Verwenden Sie Ihre PHP und erfahren, wie freakin Programm!
Auf der anderen Seite, ich kann sehen, wie Spiele auf einer Konsole kann schwierig sein, ohne OOP. Aber dann wieder, es ist äpfel eine orange. Konsole Spiele halten Ihre Objekte im Speicher, bis das Spiel beendet wird, oder das Objekt ist von innen heraus zerstört-Spiel. Denken Sie darüber nach... Warum haben Sie einen laden in bar vor jeder Ebene? Nun, stellen Sie sich eine web-Seite, die Ihnen zeigen, ein Ladebalken jedes mal, wenn es lädt, weil es zum erstellen von Objekten aus einer Datenbank. SLLOOOOOOWWWWW zentral! Und sobald Sie zu navigieren Weg von dieser Seite, müssen Sie wieder von vorn anfangen.
Web-Seiten sind Anwendungen in sich selbst. Es ist wie Neuerstellung von drag racer, jedes mal, wenn Sie gehen an den Start, nur, es auseinander zu nehmen auf der Ziellinie. WTFridge? Ernsthaft? Hey, super Genies, die meinen, OOP ist sooo cool... Halten Sie Ihre verdammte OOP aus meinen Webseiten!
Nur sagen, dies ist aus meinen 10+ Jahre Erfahrung mit web-Entwicklung, wissen Sie, wenn wir verwendet, um code-pages in HTML, eins nach dem anderen?
OOP ist nichts mehr als eine Programmier-Paradigma !! aber seine Bedeutung ist, dass die hi ist DAS eigentliche Paradigma im Einsatz unterstellt, dass alle modernen Wissens-und best practices im software engineering werden sich nach dieser Art von Programmierung ...
Gutes Beispiel in deinem Fall (web-Entwicklung) ist das Core J2EE Patterns.
(Quelle: sun.com)
Natürlich tut es das. Sie (und um so mehr Ihr Chef) sagen "Wiederaufbau" wie es ist eine riesige lästige Pflicht.
Was meinen Sie mit "neu erstellen" wird das Programm ausgeführt. Sagen Sie Ihrem Chef, dass OOP im Allgemeinen ist dumm, weil auch in einer desktop-Umgebung jedes mal, wenn jemand läuft eine software, die Objekte müssen neu erstellt werden, so ist es nicht einmal Wert.
Boss ' s Kommentar ist nutzlos. Die .net framework besteht aus Objekten, und sonst nichts. Eine "Antwort" ein Objekt ist, selbst in der "classic ASP" - warum würden die Leute haben es umgesetzt, wenn das Ressource unwirksam?