Ich mache meinen Weg durch die frühen Data Access Tutorials auf Microsofts ASP.NET-Website und es fiel mir auf, dass dies alles sehr ähnlich zu dem, was ich gelesen habe über die Trennung Ihrer Logik und Präsentation Code mit der MVC pattern. Als Neuling muss ich noch das MVC-Muster implementieren, aber ich bin gespannt, wie sich diese beiden Designstrukturen unterscheiden und ob ich meine Aufmerksamkeit auf das eine oder andere konzentrieren sollte, insbesondere im Kontext des Webdesigns.Wie unterscheidet sich das MVC-Muster, wenn überhaupt, vom DAL/BLL-Designmuster?
Antwort
Der Link, den Sie für das Data Access Tutorial geschrieben haben, ist die Implementierung des MVC-Musters. MVC-Muster ist ein Konzept, die Implementierung kann abweichen; Sie haben dies in ASP.NET, während in Java gibt es ein Framework namens Struts, die eine Implementierung MVC ist.
DAL & BLL-Muster unterscheiden sich vom MVC-Muster in Begriffen; aber NICHT diese spezifische Implementierung. MVC wird tatsächlich durch Verwendung von DAL, BLL & View Patterns erreicht.
MVC adressiert mehr als nur Datenzugriff. In MVC sind sowohl das DAL als auch das BLL in das Modell integriert. Die Ansicht definiert, wie die Modelldaten dem Benutzer präsentiert werden, während der Controller auf Benutzereingaben reagiert (GET/POST im Web).
Eine Alternative zu MVC ist eine klassische N-Tier-Architektur, in der Sie eine Darstellungsschicht, eine Business-Schicht und eine Datenzugriffsschicht haben. In dieser Architektur sind die Komponenten der Ansicht und des Controllers in der Präsentationsebene zusammengefasst. WebForms/WinForms ist ein Beispiel für die N-Tier-Architektur, während ASP.Net MVC ein Beispiel für MVC im Microsoft-Bereich ist.
- 1. Wie unterscheidet sich Dispatcher vom Hintergrund-Thread?
- 2. Wie unterscheidet sich das Data-Mapper-Muster vom Repository-Muster?
- 3. Wie unterscheidet sich das ActiveRecord-Muster vom Domänenobjekt- oder Datenzuordnungsmuster?
- 4. Titel in Google unterscheidet sich vom Quellcode?
- 5. Wie unterscheidet sich das traditionelle Gerätetreiberprogramm?
- 6. Wie unterscheidet sich das Armspeichermodell von ia64?
- 7. Wie unterscheidet sich Hashtable
- 8. Wie unterscheidet sich dplyrs Auswahlhilfefunktion alles() vom Kopieren?
- 9. Wie sich der ADF-Lebenszyklus vom JSF-Lebenszyklus unterscheidet?
- 10. Unterscheidet sich die Android Instant App vom App-Streaming?
- 11. Unterscheidet sich Docstring maximale Zeilenlänge vom normalen PEP8-Standard?
- 12. GCC: Wie unterscheidet sich März von Mtune?
- 13. Double.TryParse() Eingabe-Dezimaltrennzeichen unterscheidet sich vom System-Dezimaltrennzeichen
- 14. Name der SQL-Datenbankverbindung, der sich vom Datenbanknamen unterscheidet
- 15. Refactoring doppelten Code, der sich vom Typ unterscheidet
- 16. Wie unterscheidet sich das von der Definition eines Variablentyps?
- 17. Wie unterscheidet sich das const-Schlüsselwort zwischen iPhone und .NET?
- 18. Wie unterscheidet sich das Observer-Muster von einem ereignisgesteuerten Modell?
- 19. Wie unterscheidet sich das Erstellen von iOS-Geräten und Simulatoren?
- 20. Warum unterscheidet sich {} + [] von ({} + [])?
- 21. Wie unterscheidet sich Gitlab von Github?
- 22. Wie unterscheidet sich HttpWebRequest (funktional) vom Einfügen einer URL in eine Adressleiste?
- 23. Wie unterscheidet sich ArrayListMultimap von LinkedListMultimap?
- 24. Wie kann ich Optionstext im Dropdown-Menü anzeigen, der sich vom ausgewählten Text unterscheidet?
- 25. Sperrverhalten unterscheidet sich über Netzwerkfreigaben
- 26. Wie unterscheidet sich mpi_file_write von mpi_file_write_all?
- 27. NativeScript und Geofencing - Wie? Wenn überhaupt möglich
- 28. Wie unterscheidet sich << von +?
- 29. Wie unterscheidet sich MegaStore von BigTable?
- 30. Wie unterscheidet sich Gurke von JUnit?
Der Link "Data Access Tutorials" ist nicht verfügbar. Ich weiß, dass diese Frage alt ist, aber ich möchte immer noch einen Einblick bekommen, was es war. Ist [dieser Link] (http://www.asp.net/mvc/books/data-access) worüber Sie gesprochen haben? –
@AskeB .: Check out [die Wayback-Maschine] (http://web.archive.org/web/20070917221538/http://asp.net/learn/data-access/?lang=cs) für die Antwort auf diese Frage. – jmoreno