这是AngularJS页面的内容描述:
AngularJS就像HTML一样,如果它是为构建Web应用程序而设计的.具有数据绑定,MVW,MVVM,MVC,依赖注入和强大可测试性故事的声明性模板都使用纯客户端JavaScript实现!
那么MVW代表什么呢?(考虑到MVC,MVVW,MVP等争吵,我猜"无论如何",Model-View-Whatever = P)
最后开始做一些Silverlight开发,我遇到了MVVM.我熟悉MVC和我正在阅读的文章说因为XAML,MVC无法解决.没有太多的XAML经验是我没有明白这一点的原因.
有人可以解释为什么MVC不适合以及为什么MVVM更适合Silverlight开发?
谢谢JD
与 MVC 和 MVVM 等“旧”架构相比,“较新”的 Model-View-Intent 架构之间有什么区别吗?
MVI 解决什么问题?与 MVC/MVVM 有什么相似之处?有什么区别?
在 MVC/MVV/MVP 的 stackoverflow 上已经有类似的问题,但到目前为止还没有解释 MVI。
我已经在设计模式上考虑了一段时间了,我刚开始看到如何在我的开发工作中更加刻意地将其中一些更加谨慎地融入其中.但是,我仍然对本书开头的MVC处理以及它与书的其余部分的关系感到困惑.
我使用过的大多数框架 - Spring,Yii,ASP.NET,甚至是Objective-C Cocoa(UIKit) - 都适合MVC范例.我得到了MVC,因为对我而言,它是一种分类对象以及它们应该如何相互消息或交互的有用方法.而且,即使你不打算以MVC方式思考,这些框架也会强加给你.
我也觉得我理解设计模式的前提:他们真的不喜欢子类化,他们喜欢抽象接口,他们努力松散耦合.我不能说我完全理解所有的模式或它们是如何有用的,但我对它有了一种感觉.
我的问题是:MVC和设计模式之间的相互作用是什么?他们在MVC应用程序示例的第一章中得到了什么?某些设计模式是否与MVC范例无关?我想知道,例如,Command模式应该如何适应MVC.这似乎非常有用的,但是我们创建了一个CommandModel与CommandController发送给其他控制器?我们只是Command按照书中的规定创建一个对象吗?基本上,我想知道MVC和设计模式的想法是完全不相交的,我只是不明白,或者是否有一些模式不适合模具.
我是一个半高级react和JavaScript开发商,我做了几个通用react的应用程序.
今天我们的CTO告诉我:您是否为您的应用程序使用软件架构模式?
我没有回答,他指的是用于他们应用程序的Android团队MVVM.
我正在寻找贪婪但没有找到针对这种情况的趋势方法或示例.我用Redux,Redux-Saga,React-Context等.
我不知道如何向我们的CTO解释或他的答案是什么?
因此:是否一个react应用程序确实需要一个软件架构模式?
我正在阅读MVVM并且在我的生活中无法分辨MVVM的"模型视图"与MVC中的"控制器"完全不同,如Cocoa编程中所使用的那样.
我甚至读过一些对别人来说应该是'aha'时刻的解释,但仍未能发现差异.我所做的有限的Cocoa GUI编程涉及将控制器作为管理从视图到模型的数据的中心点,使用键值观察.
在所有重要的方面,在我看来,"模型 - 视图"的作用除外,它可能是与.Net中的WPF < - > C#桥相关的微妙实现差异.也就是说,如果使用与应用程序代码不同的语言指定Cocoa GUI,则Cocoa中的MVC可能被称为MVVM,并且控制器使用与GUI相同的语言而不是应用程序进行编码(即,在XAML中指定WPF而不是C#).
或者在非Cocoa环境中的MVC,没有所有键值观察等,与在Cocoa中应用的MVC有很大不同,这导致人们发现MVVM和MVC之间存在比我更大的差异.
我疯了吗?请教育我.
我知道已经有关于该主题的问题,但其中的问题在某种程度上与其他问题有关,并没有提供确凿的答案.
特别是那里:问题1,问题2,当然还有问题3 所以请不要太快关闭这个问题.他们回答那里只是说"做这个,做那个"而不是为什么!
有些人否认需要a ViewModel并且说"标准"方式是直接绑定到模型.这是我否认并试图用技术论证来证明的.
从我在后台MVC,MVP,Presentation Model,它只是很自然地我使用ViewModel.也许我错过了一个重点?
所以对我来说,默认是绑定到a ViewModel,无论它Model是什么(无论它是否实现INotifyPropertyChanged).
我看到绑定到s的原因有几个ViewModel,包括(如此处提到的CodeProject和另一篇文章)
1.从视图中删除逻辑
2.安全
3.松耦合
4.发展速度
Prototype ViewModel层次结构开始并绑定到该层次结构Prototype ModelModel并且ViewModel可以开发testdriven,无论ViewView可完全由设计师,还是具有很强的设计背景开发商建5.解决了"棘手的同步"问题
6.整个项目的结构相同
7.可扩展性 …
在MVC中," 模型 "只是数据的代码表示(例如,在ASP.NET MVC中,它是具有相应字段的类).
然而在Knockout(使用MVVM)中,我看到带有字段的对象称为"ViewModel".从官方KO文件:
模型:应用程序的存储数据.此数据表示业务域中的对象和操作(例如,可以执行汇款的银行帐户),并且独立于任何UI.使用KO时,通常会对某些服务器端代码进行Ajax调用,以读取和写入此存储的模型数据.
视图模型:UI上数据和操作的纯代码表示.例如,如果您正在实现列表编辑器,则视图模型将是一个包含项列表的对象,并公开添加和删除项的方法.
从示例中可以看出,ViewModel是具有字段的对象,包含数据,通常由Model在MVC中完成的操作:
var myViewModel = {
personName: ko.observable('Bob'),
personAge: ko.observable(123)
};
Run Code Online (Sandbox Code Playgroud)
所以我在这里有点失落.什么'模型'和'ViewModel'在Knockout.js域中意味着什么?
javascript model-view-controller architectural-patterns mvvm knockout.js
我对前端编程很陌生,所以请跟我讲。在学校我们学习了后端编程语言,如 Java、C#、Python、C 和一些 C++。作为一种爱好,我自己尝试学习前端,所以我从 Vue、JavaScript、HTML 和 CSS 开始。在学校里,我们通常在终端中运行代码(用于后端编程),例如,我们执行冒泡排序算法,然后提供一些用户输入(通过终端),然后调用冒泡排序对输入进行排序。问题是,当我在后端编写一个程序并且想为其创建一个网站时,如何将后端连接到前端?让我们以一个简单的 webpge 为例,我编写了一个程序,用冒泡排序对数字进行排序,然后我希望能够让用户在网站中编写一个数组,然后单击 \xe2\x80\x9dsort\xe2\x80\ x9d 按钮。当他/她单击它时,应该调用我的后端冒泡排序函数等等。我在谷歌上搜索过,但我能找到的只是其他提供网站服务的网站,我想从头开始编程后端和前端并将它们连接在一起。有办法吗?如果是的话,每种语言都有自己的方式还是有共同的方式?我的意思是,也许我用 Java 为一个网站编写后端,但在另一个网站上我用 Python 编写。那么后端和前端的连接方式有区别吗?\n提前致谢。
\nmvvm ×6
c# ×2
javascript ×2
.net ×1
acronym ×1
android ×1
angularjs ×1
architecture ×1
asp.net-mvc ×1
backend ×1
binding ×1
cocoa ×1
frontend ×1
knockout.js ×1
mvw ×1
oop ×1
reactjs ×1
redux ×1
redux-saga ×1
silverlight ×1
wpf ×1