2016-06-24 11 views
0

Die Business-Logik ist in fast allen Beispielen und Tutorials, die ich gefunden habe, im ViewModel platziert. Ich habe etwas darüber recherchiert, aber ich habe immer noch Probleme, weil ich das Modell selbst nicht finden kann und das ViewModel aussieht wie alles zu machen. Einige Meinungen legen nahe, dass das Modell eine Serverseite in KO ist. Jede Klärung wird hilfreich sein.Wohin mit Geschäftslogik in knockout.js?

+2

In der "idealen" Version eines Modells/View/Controller-Szenario, können Sie nur beobachten, dass es wirklich keine "Single Place for" Business-Logik gibt. Der eigentliche Zweck (IMHO) dieser Bibliotheken besteht darin, eine effektive * Benutzerschnittstelle * zu schaffen und nichts mehr. Wenn die Aufgabe wirklich "das Geschäft" betrifft, gehört die Regel und deren Durchsetzung wahrscheinlich weder in JavaScript, noch auf der Seite * client *. Server sollten geschäftliche Entscheidungen treffen, teilweise weil * server * -Side-Code "außer Reichweite" ist. –

Antwort

0

Angular 2.0 ist auf Komponenten von Business-Funktion zu bewegen, anstatt nach der Art der Ausgabe (js, .html, CSS- etc)

Knockout nicht normativ ist, so dass Sie auch diese Struktur folgen, und auch beachten, dass Knockout war vor langer Zeit bei Observablen.

Der Trend zu Backend-APIs zu wechseln hilft auch dabei, die Technologie zu entkoppeln und die Geschäftsziele besser zu erreichen.

Ich neige dazu, zentrale Dienstanbieter zu verwenden, um den Kleber zwischen Komponenten und API bereitzustellen, aber Postfach ermöglicht Knockout-Komponenten untereinander zu chatteren und ein anderes Muster bereitzustellen.