Benutzer mit den meisten Antworten
Komponentenbasierte Software in C# - Einstieg

Frage
-
http://www.google.de/search?q=Komponentenbasierte+Software&rlz=
Hallo,
ich suche eine gute Anleitung in Komponentenbasierte Software in C#. Man findet viel, siehe oben. Leider teils auch nichts hilfreiches bzw. man benötigt ein Passwort.
http://sdqweb.ipd.kit.edu/wiki/Vorlesung_Komponentenbasierte_Software-Entwicklung_SS08
Hat jemand eins bzw. kennt ihr gute Tutorials?
Grüße Andreas
- Bearbeitet Andreas Bauer2 Montag, 8. November 2010 20:37 d
Antworten
-
Hallo Andreas,
"state of the art" im Bereich .NET (und somit auch C#) ist hier PRISM (speziell hier Silverlight/WPF getargeted):
[patterns & practices: Prism] (Quasi-Nachfolger des 'Composite application block' der Enterprise Library [aktuell 5.0])
http://compositewpf.codeplex.com/
Zusammen / unterstützt mit:[Übersicht über Managed Extensibility Framework]
http://msdn.microsoft.com/de-de/library/dd460648.aspx
http://social.msdn.microsoft.com/Forums/de-DE/dotnetframeworkde/thread/a24480ce-4a69-4130-949c-9f88bebe8059(Bitte beachte auch, dass MEF nicht benötigt ist, PRISM ist unabhängig vom DI-Framework und könnte zum Beispiel auch Unity nutzen). Aktuell zum Teil im Blickpunkt auch:
[One Man Think Tank Gedanken: Feingranular – Methoden als Event-Based Components]
http://ralfw.blogspot.com/2010/04/feingranular-methoden-als-event-based.html
http://www.xing.com/net/it-region38/net-developer-group-braunschweig-398371/event-based-components-die-zukunft-der-komponentenorientierung-29680653/
Zentrale Referenz auch ausführlich beschrieben in:[Microsoft Application Architecture Guide, 2nd Edition]
http://msdn.microsoft.com/en-us/library/ff650706.aspx
suche dort nach "components"
____________
Weniger wichtig, aber der Vollständigkeit aufgeführt:Im allgemeinen nicht direkt .NET bezogenen Zusammenhang:
[Component-based software engineering - Wikipedia, the free encyclopedia]
http://en.wikipedia.org/wiki/Component-based_software_engineeringEin kleines Framework dazu (->CSLA):
[Component-based Scalable Logical Architecture - Wikipedia, the free encyclopedia]
http://en.wikipedia.org/wiki/Component-based_Scalable_Logical_ArchitectureDies nur ganz grob. Wie Du gesehen hast, gibt es sehr viel Literatur und Herangehensweisen dazu.
ciao Frank- Als Antwort markiert Andreas Bauer2 Mittwoch, 10. November 2010 06:09
-
Hallo Andreas
"Komponentenbasierte Software" ist eher ein Überbegriff,
hier mal eine Links
Wikipedia: Component-based software engineering
http://en.wikipedia.org/wiki/Component-based_software_engineering
beachte dort auch:
"Differences from object-oriented programming"What does it mean when you say C# is component oriented language?
http://stackoverflow.com/questions/1234283/what-does-it-mean-when-you-say-c-is-component-oriented-languageMan könnte hierzu heute wohl auch MEF als eine mögliche Grundlage ansehen:
Erstellen zusammensetzbarer Anwendungen in .NET 4 mit dem Managed Extensibility Framework
http://msdn.microsoft.com/de-de/magazine/ee291628.aspx
Und als Entsprechung für "verteilte Komponenten" in .NET könnte man sich hier im Prinzip WCF vorstellen.
(obiger Wikipedia listet hier nur das ältere Remoting)- Als Antwort markiert Andreas Bauer2 Mittwoch, 10. November 2010 06:09
-
Hallo Andreas,
IMHO ist eher kein Buch notwendig. Im Prinzip reichen die in meinem ersten Posting genannnten Links und Unter-Links. Es ist jedoch nicht unwichtig, was für einen Applikations-Kontext Du benutzt. (Windows Forms, ASP.NET, Silverlight, WPF, ...). Nutzt Du - oder willst Du dann auch PRISM nutzen?
Vielleicht auch erstmal geruhsam in den Sessel setzen und Video schauen:[Webcast: Managed Extensibility Framework - Eine Einführung | MSDN Online]
http://www.microsoft.com/germany/msdn/webcasts/library.aspx?id=1032430124[Webcast: Silverlight 4 (Teil 4 von 6) - Managed Extensibility Framework | MSDN Online]
http://www.microsoft.com/germany/msdn/webcasts/library.aspx?id=1032456234Zu diesem letzten Webcast eignet sich auch ein Beispiel-Projekt von mir:
http://dzaebel.net/Downloads/WinMefDemo.zipHier wird ähnliches mal nicht mit Silverlight, sondern mit Windows Forms gemacht - und dann das ImportMany Szenario ganz rudimentär umgesetzt.
______________
weitere Code-Beispiele:[Managed Extensibility Framework]
http://mef.codeplex.com/[Way of MEF slides and Code - My Technobabble - Site Home - MSDN Blogs]
http://blogs.msdn.com/b/gblock/archive/2010/06/13/way-of-mef-slides-and-code.aspx
ciao Frank- Als Antwort markiert Andreas Bauer2 Freitag, 12. November 2010 06:43
Alle Antworten
-
Hallo Andreas
"Komponentenbasierte Software" ist eher ein Überbegriff,
hier mal eine Links
Wikipedia: Component-based software engineering
http://en.wikipedia.org/wiki/Component-based_software_engineering
beachte dort auch:
"Differences from object-oriented programming"What does it mean when you say C# is component oriented language?
http://stackoverflow.com/questions/1234283/what-does-it-mean-when-you-say-c-is-component-oriented-languageMan könnte hierzu heute wohl auch MEF als eine mögliche Grundlage ansehen:
Erstellen zusammensetzbarer Anwendungen in .NET 4 mit dem Managed Extensibility Framework
http://msdn.microsoft.com/de-de/magazine/ee291628.aspx
Und als Entsprechung für "verteilte Komponenten" in .NET könnte man sich hier im Prinzip WCF vorstellen.
(obiger Wikipedia listet hier nur das ältere Remoting)- Als Antwort markiert Andreas Bauer2 Mittwoch, 10. November 2010 06:09
-
Hallo Andreas,
"state of the art" im Bereich .NET (und somit auch C#) ist hier PRISM (speziell hier Silverlight/WPF getargeted):
[patterns & practices: Prism] (Quasi-Nachfolger des 'Composite application block' der Enterprise Library [aktuell 5.0])
http://compositewpf.codeplex.com/
Zusammen / unterstützt mit:[Übersicht über Managed Extensibility Framework]
http://msdn.microsoft.com/de-de/library/dd460648.aspx
http://social.msdn.microsoft.com/Forums/de-DE/dotnetframeworkde/thread/a24480ce-4a69-4130-949c-9f88bebe8059(Bitte beachte auch, dass MEF nicht benötigt ist, PRISM ist unabhängig vom DI-Framework und könnte zum Beispiel auch Unity nutzen). Aktuell zum Teil im Blickpunkt auch:
[One Man Think Tank Gedanken: Feingranular – Methoden als Event-Based Components]
http://ralfw.blogspot.com/2010/04/feingranular-methoden-als-event-based.html
http://www.xing.com/net/it-region38/net-developer-group-braunschweig-398371/event-based-components-die-zukunft-der-komponentenorientierung-29680653/
Zentrale Referenz auch ausführlich beschrieben in:[Microsoft Application Architecture Guide, 2nd Edition]
http://msdn.microsoft.com/en-us/library/ff650706.aspx
suche dort nach "components"
____________
Weniger wichtig, aber der Vollständigkeit aufgeführt:Im allgemeinen nicht direkt .NET bezogenen Zusammenhang:
[Component-based software engineering - Wikipedia, the free encyclopedia]
http://en.wikipedia.org/wiki/Component-based_software_engineeringEin kleines Framework dazu (->CSLA):
[Component-based Scalable Logical Architecture - Wikipedia, the free encyclopedia]
http://en.wikipedia.org/wiki/Component-based_Scalable_Logical_ArchitectureDies nur ganz grob. Wie Du gesehen hast, gibt es sehr viel Literatur und Herangehensweisen dazu.
ciao Frank- Als Antwort markiert Andreas Bauer2 Mittwoch, 10. November 2010 06:09
-
Hallo Frank und Thomas,
zunächst die Frage ist sicherlich beantwortet.
Das Thema immens umfangreich.
Gibt es dennoch eine Anleitung
Mein erstes MEF Projekt.
In der Art Gewusst Wie
Was ist zu klicken.
Projekt Neu - Hinzüfügen etc. Welche Schritte sind notwendig.
Einfach die Vorgehensweise, um den Einstieg zu finden.
Evtl. wenn nötig auch ein Buch zum Selbststudium.
Danke im Voraus.Viele Grüße Andreas
-
Hallo Andreas,
IMHO ist eher kein Buch notwendig. Im Prinzip reichen die in meinem ersten Posting genannnten Links und Unter-Links. Es ist jedoch nicht unwichtig, was für einen Applikations-Kontext Du benutzt. (Windows Forms, ASP.NET, Silverlight, WPF, ...). Nutzt Du - oder willst Du dann auch PRISM nutzen?
Vielleicht auch erstmal geruhsam in den Sessel setzen und Video schauen:[Webcast: Managed Extensibility Framework - Eine Einführung | MSDN Online]
http://www.microsoft.com/germany/msdn/webcasts/library.aspx?id=1032430124[Webcast: Silverlight 4 (Teil 4 von 6) - Managed Extensibility Framework | MSDN Online]
http://www.microsoft.com/germany/msdn/webcasts/library.aspx?id=1032456234Zu diesem letzten Webcast eignet sich auch ein Beispiel-Projekt von mir:
http://dzaebel.net/Downloads/WinMefDemo.zipHier wird ähnliches mal nicht mit Silverlight, sondern mit Windows Forms gemacht - und dann das ImportMany Szenario ganz rudimentär umgesetzt.
______________
weitere Code-Beispiele:[Managed Extensibility Framework]
http://mef.codeplex.com/[Way of MEF slides and Code - My Technobabble - Site Home - MSDN Blogs]
http://blogs.msdn.com/b/gblock/archive/2010/06/13/way-of-mef-slides-and-code.aspx
ciao Frank- Als Antwort markiert Andreas Bauer2 Freitag, 12. November 2010 06:43
-
[Webcast: Managed Extensibility Framework - Eine Einführung | MSDN Online]
http://www.microsoft.com/germany/msdn/webcasts/library.aspx?id=1032430124[Webcast: Silverlight 4 (Teil 4 von 6) - Managed Extensibility Framework | MSDN Online]
http://www.microsoft.com/germany/msdn/webcasts/library.aspx?id=1032456234Zu diesem letzten Webcast eignet sich auch ein Beispiel-Projekt von mir:
http://dzaebel.net/Downloads/WinMefDemo.zipHallo Frank,
ok Danke.
Grüße Andreas