Hallo Leute,
ich habe schon ein wenig mit Forms gearbeitet, finde diese aber auf Dauer ein wenig umständlich. Ich möchte lieber "Das Programm" und die grafische Oberfläche sauber trennen. Daher schweb mir eine Art Kernel vor, der dann von der GUI aufgerufen wird. Aber wie stellt man so etwas am besten an mit MS VS 2005 EE an?
Was sollte man für eine Projektart wählen?
Wie bindet man hinterher den 'Kernel' in die GUI ein?
Welche Überlegungen sollte man machen damit man hinterher Änderungen am Kernel vornehmen kann ohne die GUI Anwendung komplett neu schreiben zu müss?
Vielen Dank für Eure Antworten, Tipps und Ideen.
Hallo jeanfischer,
suche im Forum nach MVC (oder auch tree-tier) und poste die besten Treffer hier. Vielen Dank!
herbivore
Hmm, so richtig fündig bin ich nicht geworden, oder es ist zu komplex für mich 😦
Eigentlich möchte ich ja auch nur eine simple kleine Klasse schreiben, die für sich kompilierbar ist und auf diverse dll's zugreifen kann. Von aussen greifen dann die GUI Anwendungen zu. Aber wenn das nicht so einfach geht, dann muss ich weiter die Forms verwenden.
Hallo jeanfischer,
natürlich geht es auch so einfach. Du musst es eben nur genau so machen, wie du gesagt hast.
herbivore
Meiner Meinung nach ist das, was Du suchst, kein MVC-Pattern, sondern ein Micro-Kernel-Ansatz.
Such mal nach "microkernel", "ioc", "inversion of control", "di" und "dependency injection".
Zwei Frameworks, die das leisten, was Dir vermutlich vorschwebt, sind Spring (http://www.springframework.net) und Castle.
Wissensvermittler und Technologieberater
für .NET, Codequalität und agile Methoden
Hallo Golo,
Meiner Meinung nach ist das, was Du suchst, kein MVC-Pattern, sondern ein Micro-Kernel-Ansatz.
das glaube ich nicht, wenn er schon zu MVC sagt:
oder es ist zu komplex für mich 😦
Denn die von dir genannten Begriffe sind ja noch weit fortgeschrittenere Programmierung. 🙂
herbivore
Das stimmt schon, dass das noch komplexer ist, nur klang seine ursprüngliche Fragestellung für mich nicht nach MVC.
Wissensvermittler und Technologieberater
für .NET, Codequalität und agile Methoden
Ich weiß nicht ob ich das richtig verstehe..also ich trenne auch ales was nicht niet und nagelfest ist..das heißt "programm" von den Visuellen elementen...ich erstelle einfach ein projekt und dann füge ich eine library hinzu in der ich dann alles visuelle abspeicher..meinst du das vielelicht?
Ich denke, er will beides!
Für den Microkernel braucht er sowie einen lose Bindung zwischen View und Model.
Original von Second Sun
ich erstelle einfach ein projekt und dann füge ich eine library hinzu in der ich dann alles visuelle abspeicher..meinst du das vielelicht?
Ich befürchte, du stellst dir das VIEL zu einfach vor....
Hallo svenson,
für Anfänger/Einsteiger, wie das bei jeanfischer der Fall zu sein scheint, ist es aber gut, das Grundprinzip einfach darzustellen. Und das Grundprinzip ist damit doch ganz gut getroffen.
herbivore
Viel zu einfach?? ich mache es so und ich finde es alles andere als schwer..ich lager doch im prinzip nur miene steuerelemente in einer dll aus..wo liegt denn da das problem?
Das dieses Konzept bei Enterprise Apps viel zu kurz greift.
Ausserdem wirst Du wahrscheinlich von NUnit und NCover auch noch
noch nicht so viel gebrauch gemacht haben.
Meine std. Antwort hierzu ist aber immernoch CAB.
Ist zwar nicht sehr einfach, aber doch einfacher als die meisten anderen FrameWorks.
Hm, ich blicke hier grad nicht ganz durch.
Wieso nicht einfach die ganzen Funktionen usw. in Klassen kapseln und über die GUI halt aufrufen? Oder von mir aus die Funktionen in ne eigene DLL ?
Oder verstehe ich hier irgendwas falsch?
Das ist halt der Unterschied zwischen Gelegenheitsprogrammierern und denen,
die mit Enterprise Applikationenen Ihren Lebensunterhalt verdienen.
Lies Dir mal ein Buch zu Pattern durch, oder google wenigstens mal nach MVC und MVP,
damit Du weisst worum es da geht.
Original von Second Sun
ich mache es so und ich finde es alles andere als schwer..
Wenn du willst, kannst du aus jeder einzelnen Klasse ne DLL machen. Aber die "saubere" Trennung ist damit noch lange nicht erreicht. Es ist immer eine Frage welche Form von "Unabhängigkeit" du anstrebst.
Und selbst Firmen, die Enterprise Applikationenen entwickeln, koennen sowas nicht =D Wenn die einzige Form der Objektorientierung aus statischen Methoden besteht, oder Objekte anstelle von Properties eine lose "string:object" Map enthalten, und ich immer casten muss, koennte ich heulen.