Laden...

Forenbeiträge von Chaosfreak Ingesamt 15 Beiträge

15.01.2010 - 10:51 Uhr

Ne weitere Möglichkeit wäre Firebird Embedded. Hat den Vorteil das man jederzeit die
Datenbank auch im normalen Firebird Server ansprechen kann.

Hier der Download: Firebird 2.1.3 Embedded

25.03.2008 - 12:03 Uhr

Jetzt haust du glaub ich etwas durcheinander. Im Manager findest du keine SQL's. Du meinst sicherlich den DataProvider? Es kommt wirklich auf dein konkretes Projekt an. Ein weiteres Kriterium wäre nämlich noch ob die App auf einem Application-Server laufen soll (3-tier) oder ob du mit Client und Db-Server (2-tier) arbeiten willst. Bei 3-tier läuft die BL auf dem Application-Server. Schon deswegen braucht dann die BL eine eigene Assembly.

22.03.2008 - 21:57 Uhr

Hallo Merlin20,

Genau diese Frage hatte mich zu Anfang auch beschäftigt, als ich für meine Projekte die im PWA vorgeschlagene Architektur einsetzen wollte. Ich habe mich dann dazu entschieden die Layer in eigenen Namespaces und Assemblies zu trennen. Das Problem dabei war dann allerdings dass man beim Entwickeln an einem Teilstück der Anwendung dann ziemlich oft zwischen den Assemblies hin- und herspringen muss. Wenn ich z. B. eine Taskverwaltung programmiere schreibe ich ja nicht erst jede Schicht komplett fertig sondern wechsle oft. Hier eine Methode im DataLayer, dort ein Implementierung in der BL. Hat man nun diesen Teilbereich in einem Namespace zusammengefasst ist das ganze weniger hinderlich. Auch kommt es darauf an ob man hobbymäßig alleine an einem Projekt entwickelt oder professionell im Team. Dort ist die Trennung in einzelne Assemblies sicherlich sinnvoll. Letzten Endes ist ein Namespace aber eben auch "nur" ein Namespace. Das eine Klasse im Namespace *.Business liegt, macht noch lange keine Businesskomponente daraus. In der neusten Ausgabe der dotnetpro gibt es einen interessanten Artikel zu Architektur von Ralf Westphal.

13.02.2008 - 21:20 Uhr

Hi Razer!

Hast du dir schonmal die Webcast-Reihe PWA von Patrick A. Lorenz angeschaut? Dort
wird eine Beispiel-Architektur besprochen. Ist zwar auf Basis von ASP.Net lässt sich aber auch für WinForm oder WPF verwenden. Dort wird zwar nur mit Datenbanken gearbeitet, aber ein DataLayer auf Basis von XML-Files ist im Prinzip das selbe.

Hier der Quellcode dazu.

03.01.2008 - 08:53 Uhr

Hallo HappyLil,

das dürfte am verwendeten DataProvider liegen. Der Support
für TransactionScope ist soweit ich weiß noch im Beta-Stadium.

Schau mal hier: http://firebirdsql.org/index.php?op=devel&sub=netprovider&id=dotnetff200701

30.10.2007 - 12:58 Uhr

Schau mal hier. Dort heißt das Ganze NavigationPane. Ist kostenlos und OpenSource. Der richtige Begriff lautet wohl Outlookbar.

23.10.2007 - 16:17 Uhr

Oder einfach so:

IF NOT EXISTS (SELECT id FROM table WHERE id = @id) INSERT INTO ... ; UPDATE ...

09.10.2007 - 16:31 Uhr

[me.HellsehMode = true]

Lass mich raten: Du hast den Artikel im 2. Link den ich dir vorhin gegeben habe noch nicht gelesen. Stimmts? 😉

Dort ist ein Beispiel mitsamst UnitTest erklärt.

[me.HellsehMode = false]

09.10.2007 - 16:02 Uhr

Irgendwie ist hier immer einer schneller als ich 😉

09.10.2007 - 16:02 Uhr

Ich kenne den Artikel, da ich auch die dnp lese. Das Beispiel im Artikel beansprucht keine Vollständigkeit. Natürlich müssen in jedem konkreten Projekt noch Geschäftsregeln, Validierung, ... implementiert werden. Damit beschäftigen sich aber eigene Artikel. Es geht eben darum einen Überblick zu bekommen, was eine bestimmte Vorgehensweise bieten kann.

In der Business-Logik testest du deine Geschäftsregeln, Persitenz, ... Der Presenter stellt aber eine Komponente innerhalb der Darstellungsschicht dar. Hier testest du die Ablauflogik der Oberfläche und ob der View die ihm übergebenen Daten auch korrekt darstellt.

09.10.2007 - 14:05 Uhr

Das hängt ziemlich stark von der Größe deines Projektes ab.

Der Vorteil des MVP-Pattern liegt ja nicht nur in der Trennung, sondern vor allem
in der besseren Testbarkeit der Oberfläche mit UnitTests.

Wenn du UnitTest verwendest und evt. vorhast zu einer WinForms-Oberfläche auch noch eine Weboberfläche anzubieten lohnt der Aufwand allemal.

09.10.2007 - 13:46 Uhr

Hallo kat_2403!

Es gibt verschiedene Abwandlungen des MVP-Patterns. Die von dir beschriebene
nennt sich "Passive View". Damit ist die "sauberste" Trennung zwischen Logik und Darstellung möglich. Dies muss man sich allerdings durch erhöhten Programmieraufwand erkämpfen.

Ein anderes Modell nennt sich "Supervising Controller". Damit kann man z. B. DataBinding nutzen, da hier komplette Datenobjekte an den View überreicht werden.

Schau dir mal die beiden Sachen dazu an:

http://martinfowler.com/eaaDev/SupervisingPresenter.html
http://testing.codebetter.com/blogs/jeremy.miller/archive/2007/05/25/build-you-own-cab-part-3-the-supervising-controller-pattern.aspx

20.09.2007 - 23:03 Uhr

Hi,

habe auch die Logitech MX 1000. Wirklich präzise das Teil.

29.01.2007 - 18:59 Uhr

Hi,

ich verfolge diesen Thread schon von Anfang an und bin grade dabei
den MVC-Ansatz von Rainbird in einen unserer Projekte zu verwenden.
Nun bin ich an den Punkt der Prüfung (Validierung) von Benutzereingaben
angelangt und bin mir nach einigen Überlegungen nicht im klaren an welche Stelle
nun eine Prüfung am günstigsten ist. Speziell geht es im Moment um einfache
Abfragen, z.B. das in einem bestimmten Feld eine Eingabe erfolgen muss.
An welcher Stelle sollte eine Prüfung erfolgen?
Vorstellen könnte ich zwei Möglichkeiten:

  1. In der Businesslogik und werfen von Exceptions
  2. Im Model und dem feuern eines z.B. ValidationErrorEvents

Was ist eine gängige Vorgehensweise für diesen Problemfall?

Vielen Dank!

22.08.2006 - 15:40 Uhr

Hallo,

ich will mir ein eigenes Grid abgeleitet vom DataGridView basteln, das eine Filterbar als erste Zeile unter dem Header hat.

Jetzt habe ich mir gedacht einfach eine Zeile einzufügen und dort die Zellen als Combobox zu implementieren. Allerdings bekomm ich den Fehler das keine Zeilen bei einem datengebundenen Grid eingefügt werden können.

Hat von euch jemand eine Idee?