我计划在客户端为单页应用程序使用 knockout.js 和 MVVM 模式。所以模型,视图模型将在客户端定义。我对我们必须如何在服务器端进行结构感到困惑。
现在,控制器会返回域模型本身吗?从域模型到 ViewModel 的所有映射是否只发生在客户端?
在我的解决方案中,域模型和视图模型之间存在很大差距。所以上述方法会导致大量数据不必要地返回到客户端。虽然看起来有点矫枉过正,但我正在考虑在服务器端重复 ViewModel 和 InputViewModel 定义(前者代表呈现的数据,后者代表要回发到控制器操作的数据),并且还有一个映射层(基于 automapper)来映射域模型到服务器端的 ViewModels。这有意义吗?还是有更好的方法?