Frage

Ich bin gerade dabei, eine Architektur für eine Reihe von geschäftsverteilten Systemen zu planen, bei der viele verschiedene Geräte verschiedener Typen in sehr ähnlichen Anwendungsfällen unterstützt werden müssen.

Unter anderem muss ich unterstützen

  • Windows Mobile 6.x -basierte PDAs
  • PC -Arbeitsstationen

Diese Apps dienen einer ziemlich einfachen Geschäftslogik, daher möchte ich keine übertriebene Architektur dafür verwenden. Ich muss jedoch unterstützen:

  • Remote -Updates
  • Meistens getrenntes Client -Szenario für PDAs (und optional für den PC)

Während ich nach der richtigen Referenzarchitektur recherchierte, stieß ich auf Mobile Anwendungsblöcke blockiert Community -Release und Mobile beitragen Erweiterung dieser Version. Was mich interessiert hat war:

  • Trennung Agent und Verbindungsmonitor, um das meist getrennte Clientszenario zu unterstützen
  • Mobiler Updater -Anwendungsblock zur Unterstützung von Updates

Ich bin mir auch dessen bewusst Scsf Gegenstück für die Desktop -Plattform.

Nun, hier sind meine Fragen

  1. Ist Ihrer Erfahrung nach Ihrer Erfahrung eine MCSF -Erweiterung auf VS2008/WM6.x/.NET CF 3.5 ausgereift und stabil genug für den Produktionsgebrauch? Ich möchte nicht ein Opfer des Wissens sein, dass es nicht wirklich für die Wirtschaftsnutzung geeignet ist, während ich mitten im Projekt bin.
  2. Da die Anwendung sehr einfach ist, möchte ich sie mit dem MVP -Muster und anderen CAB -Rahmenzusagen nicht übermäßig kompliziert machen. Ich muss nur die oben beschriebenen Szenarien unterstützen. Wäre es möglich, MCSF -Community -Release -Komponenten zu verwenden, ohne die gesamte Anwendung in MCSF -Weise (mit Befehlen, Abhängigkeitsinjektion, MVP usw.) architekt zu müssen? Ich denke, ich werde es für die einfache Anwendung einfach halten wollen.
  3. Gleiches gilt für die Desktop -PC -App. Ich denke auch, dass es hier ein großer Übertreter sein würde, ein umfassendes CAB/SCSF zu sein, da dies wirklich eine sehr einfache Reihe von Funktionen ist, die implementiert werden müssen, aber ich möchte die Entwicklungszeit durch die Nutzung des Updaters und möglicherweise durch die getrennten getrennt verkürzen Kundenblöcke. Nur ohne den komplizierten UI -Teil (ich werde einfache Gewinne für die Benutzeroberfläche erstellen). Wäre es möglich?

Ich recherchiere auch nach der Möglichkeit, einen Teil des Code zu teilen, der sich mit getrennten Clients/Remote -Updates zwischen PC und PDA bezieht, aber ich denke nicht, dass dies mit MCSF/SCSF möglich wäre.

Ich würde mich über einen Rat von jemandem freuen, der diese Straße vor mir hinunterging :)

War es hilfreich?

Lösung

  1. MCSF ist absolut schrecklich. Es scheint, dass jemand in Microsoft einem Entwickler einfach mit wenig Erfahrung erzählt hat, um das SCSF zu nehmen und es für den kompakten Rahmen zu "funktionieren". Das wurde als "Wenn es kompiliert, dann ist es in Ordnung", weil das alles ist, was geschah.

    Läuft es? Klar, aber heiliger Langsamkeit Batman! Es ist in jedem realen Szenario völlig unbrauchbar. Es ist schlimm genug, dass Ich schrieb einen Ersatz von Grund auf Dies unterhält die (meistens) Schnittstellenkompatabilität und umfasst nur einen minimalen Satz von Funktionen.

  2. Ich habe festgestellt, dass wenn eine App 2 Ansichten oder mehr enthält, es sich lohnt, das MVP -Muster zu verwenden. Irgendwann müssen Sie eine weitere Ansicht hinzufügen und haben bereits dafür archiviert. Wenn Sie Ihre Objekte in ein DI/IOC -Framework in die Ereignisaggregation in ein DI/IOC -Framework einfügen, die ich auch in kopflosen Anwendungen für schrecklich nützlich finde. Auch ohne MVP -Goo verwende ich sie am Ende.

  3. Der Desktop ist in meinem Buch nicht anders. Die IOC -Bibliothek, die ich erstellt habe, unterstützt sowohl das CF als auch das FFX identisch (sowie Monotouch und Telefon 7), wie ich viele Code -Freigabe über Plattformen übernimmt. Es ist selten, dass ich ein Desktop -Projekt erstelle, bei dem ich es nicht benutze.

Jetzt sage ich nicht, dass Sie mein IOC -Projekt verwenden müssen. Ich finde es für all die Probleme, die ich getroffen habe, nützlich und ich weiß genau genug, dass ich es schnell hinzufügen kann, wenn ich einen fehlenden Funktionsbereich traf (obwohl ich seit Monaten nicht viel fehlt). Wenn Sie sich wohl fühlen oder ein anderes DI/IOC -Framework bevorzugen, dann verwenden Sie das. Was ich sage ist a) rennen Sie vor allem, was mit MCSF zu tun hat, und b) Verwenden Sie ein DI/IOC-Framework, auch wenn Sie der Meinung sind Das ist zu einfach, um davon zu profitieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top