Vorteile von .NET (C#) gegenüber MFC

goela

Erfahrenes Mitglied
Hallo Zusammen,
da ich für die Arbeit Argumente für den Einsatz von .NET gegenüber MFC brauche seit ihr gefragt. Was bietet .NET für Vorteile gegenüber MFC.

Hintergrund:
Bei uns steht eine Neuentwicklung im Raum. Das Programm wurde in MFC entwickelt. Nun soll ich beratend, Gründe für oder dagegen .NET nennen.

Vorteil die Neuentwicklung in MFC zu machen ist eindeutig die Wiederverwendbarkeit des alten Codes. Es ist das KnowHow in MFC vorhanden.

Also ihr seit gefragt!
 
Hi,

beide Systeme haben mit Sicherheit ihre Vorteile, doch lassen sich inzwischen viele Gründe finden bestimmte Typen von Applikationen mit .Net zu entwickeln. Ich habe früher auch mit C++ und der MFC entwickelt doch bin ich dann nach einer kurzen Einführung in C# schnell begeistert gewesen.

Erstmal ist die Entwicklung visueller Applikationen mit dem VisualStudio und C# einfacher als in C++ und der MFC. Sicherlich, wenn man die Entwicklung mit der MFC gewohnt ist geht die auch sehr gut von der Hand. Denkst Du evtl. daran, .Net Remoting Komponenten zu integrieren, d.h. Client/Server Mechanismen zu verwenden dann ist C# oder VB klar zu bevorzugen, da hier die meiste Funktionalität mit wenigen Codezeilen realisiert werden kann. Gerade das Remoting wird in C++ nicht all zu elegant realisiert.

C++ nehme ich zumeist, wenn die dahinterliegende Algorithmik sehr rechenintensiv ist und ich schnelle Datenstrukturen o.ä. benötige. Da hat man in C++ wesentlich höheren Einfluss. .Net ist eine neues Konzept, dass viel von dem Programmieraufwand den man mit der MFC noch hat verkapselt und vor einem verbirgt. Das Entwickeln komplexer Anwendungen erscheint mit .Net nach kurzer Zeit schon sehr einfach

Vielleicht hilft Dir das ja ein bißchen weiter
Beste Grüße
Nukleo
 
Grundsätzlich kommt erstmal darauf an was konkret für ein Projekt umgesetzt werden soll. Also welche Anforderungen an die Anwendung gestellt werden.

In beiden Sprachen kann das Framework benutzt werden.
In C# sind sicherlich solche Dinge wie Oberflächen einfacher zu entwickeln.
Ausserdem ein grosser Vorteil ist die Kapselung der Zeiger und Referenzgeschichten, welcher von der Programmierung fehleranfälliger ist.
Der Nachteil ist natürlich das man entsprechend weniger Einfluss auf die Speicherbereinung und Dekostruktion von Objekte hat, da das alles der GarbageCollector übernimmt.

Auch das .Net Sicherheitsmodell sollte man in die Planung mit einbeziehen. Die Rechte für Assemblys sind für Administratoren sehr fein konfigurierbar. Man will sich ja dahin weiterentwickeln nicht mehr als Administrator zu arbeiten :)

Ein möglicher Vorteil von C# ist die "XCopy Installation", was natürlich davon abhänig von den verwendeten Komponenten ist.

Die Geschwindigkeit von MFC Programmen beim Start bzw. ersten Aufruf von Formularen und Komponeten ist schneller.

Ggf. könnte man den C++ Code auch in C# verwenden, durch Kapselung von bestehenden Komponeten in COM DLLs.
 

Neue Beiträge

Zurück