Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   
Forentreff 2012     
Bücher-Shop mit Amazon (Buchkategorien)C++ : Referenzen zu C++ : C++ Builder : Visual C++ : C# : Java : Spieleprogrammierung : Systemprogrammierung Linux : Software-Entwicklung : .NET : Compilertechnik : Algorithmen & Datenstrukturen : Objektorientierung : Entwurfsmuster : UML : eXtreme Programming : Scrum : Projektmanagement : Software-Testing : Datenbanken : Tom DeMarco : Dilbert : User Friendly
C/C++ Forum :: C# und .NET ::  Idee zur sicheren(?) Globalisierung von Daten. Bitte im Meinung.  
Gehen Sie zu Seite Zurück  1, 2
  Zeige alle Beiträge auf einer Seite
Auf Beitrag antworten
Autor Nachricht
Th69
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.03.2008
Beiträge: 2256
Beitrag Th69 Mitglied 13:06:06 29.01.2012   Titel:              Zitieren

Hallo TobiBob,

größere Projekte bestehen immer aus mehreren Schichten (z.B. 3-Tier: GUI, Business Classes (BC), Data Layer (DAL)).
Zur Entkopplung werden dann zwingend Interfaces eingesetzt, damit man niemals direkte Abhängigkeiten zu konkreten Implementierungen hat. Gerade zur Testbarkeit (insbs. der Business Classes) hat sich InversionOfControl (IoC) z.B. mittels Dependency-Injection (DI), etabliert.

Deine Datanbankklassen sollten daher niemals direkt von der GUI instanziert (und benutzt werden), sondern nur von den Business Classes. Und gerade für .NET Anwendungen sollte man dann nur DataBinding (aus Sicht der GUI) benutzen!
Um die DB-Anbindung zu vereinfachen, werden dann meistens OR-Mapper benutzt (z.B. Linq-to-SQL, Entity Framework (EF), NHibernate, ...). Für kleinere Anwendungen gibt es dann auch Micro-ORMs, wie PetaPoco, Dapper.NET, Massive, ...

Natürlich wird man bei privaten Projekten nicht sofort die gesamte Anwendung umbauen, aber je mehr Projekte man entwickelt, desto eher bekommt man einen Sinn für die Entkopplung der verschiedenen Teile der Software.
Wenn du z.B. das Datenbanksystem austauschen willst, dann sollten möglichst auch nur Änderung an dem Data Layer vorgenommen werden (die Business Classes und erst echt die GUI sollten davon unangetastet bleiben).
Und ähnlich sieht es natürlich auch auf Seiten der GUI aus - auch dort sollte ein Wechsel (im optimalen Falle ;-) auch keine Änderungen der BC oder des DAL nach sich ziehen.

Es ist sehr gut, daß du dir diese Gedanken zur Software-Gestaltung machst, denn Selbstreflektion und Abstraktionsvermögen sind notwendige Eigenschaften eines (guten) Software-Entwicklers.

P.S: Anstatt "Business Classes" spricht man auch häufig einfach von "Modell" oder "Logik".


Zuletzt bearbeitet von Th69 am 13:08:56 29.01.2012, insgesamt 1-mal bearbeitet
TobiBob
Mitglied

Benutzerprofil
Anmeldungsdatum: 29.06.2011
Beiträge: 58
Beitrag TobiBob Mitglied 15:42:02 01.02.2012   Titel:              Zitieren

Wow!!... Ja, da wird mir langsam so einiges klarer - noch auf seeehr abstrakter Ebene. Das erschlägt mich natürlich erstmal etwas :D aber es ist sehr interessant. Vor allem: solche Dinge erfährt man in keinen Tutorien oder Dokumentationen; das ist rein aus der Praxis, soweit ich das beurteilen kann. Deshalb bin ich euch beiden (@Fedaykin) für Eure Antworten sehr dankbar! Es gibt zu denken! Aber im positiven Sinne. Und ich merke, auf noch was für einem Beginner-Niveau das Ding ist, an dem ich gerade baue! Aber ich habe ja Zeit... ;)
loks
Unregistrierter




Beitrag loks Unregistrierter 17:06:18 01.02.2012   Titel:              Zitieren

TobiBob schrieb:
Vor allem: solche Dinge erfährt man in keinen Tutorien oder Dokumentationen; das ist rein aus der Praxis, soweit ich das beurteilen kann.


Natürlich gibt es sowas auch nachzulesen. Nennt sich "Fachbücher".
TobiBob
Mitglied

Benutzerprofil
Anmeldungsdatum: 29.06.2011
Beiträge: 58
Beitrag TobiBob Mitglied 17:14:01 01.02.2012   Titel:              Zitieren

loks schrieb:
Nennt sich "Fachbücher".
Jaa, ist schon klar. Aber man kann immer nur in kleinen Schritten weiter gehen, wenn man noch am Anfang ist und in alle Richtungen gehen will. Sicher gibts es massenweise Fachbücher und -Zeitschriften, aber ich bin (noch) zu praktisch veranlagt. Die Notwenidigkeit für die Theorie muss ja (jedenfalls für mich) auch aus der Praxis kommen. Wo soll man sonst anfangen?
C/C++ Forum :: C# und .NET ::  Idee zur sicheren(?) Globalisierung von Daten. Bitte im Meinung.  
Gehen Sie zu Seite Zurück  1, 2
Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.