PubSub/松耦合&;Javascript中的MVC模式

PubSub/松耦合&;Javascript中的MVC模式,javascript,jquery,model-view-controller,design-patterns,publish-subscribe,Javascript,Jquery,Model View Controller,Design Patterns,Publish Subscribe,好的,我是这方面的新手,我一直在尝试研究Javascript/jQuery中的MVC模式和发布/订阅模式,但是我相信我还没有完全掌握这个概念 由于我一直是一个人做这件事,我谦虚地来到这里,就我试图按照这些模式进行的一个小型教育活动征求意见 好的,这个练习主要是一个登录表单,其中的值保存在localStorage中,这也是纯教育性的,我现在知道它无论如何都不安全,不应该在生产中使用 您能告诉我您对使用的模式的看法吗?我是否未能正确使用模式?如果需要,请伤害我,我只是想学习,但我不确定我做得是否正

好的,我是这方面的新手,我一直在尝试研究Javascript/jQuery中的MVC模式和发布/订阅模式,但是我相信我还没有完全掌握这个概念

由于我一直是一个人做这件事,我谦虚地来到这里,就我试图按照这些模式进行的一个小型教育活动征求意见

好的,这个练习主要是一个登录表单,其中的值保存在localStorage中,这也是纯教育性的,我现在知道它无论如何都不安全,不应该在生产中使用


您能告诉我您对使用的模式的看法吗?我是否未能正确使用模式?如果需要,请伤害我,我只是想学习,但我不确定我做得是否正确。

jQuery的事件委派系统本身就是一种发布/订阅形式。事实上,请检查一下。您将看到,在引擎盖下,它使用事件系统,实际上只更改命名方案,并在“全局”上下文中工作

我并不反对酒吧/酒吧,但我觉得你在添加一个在某些情况下不需要存在的层。在事件委托触发后立即触发正确的函数而不是触发pub真的会更糟糕吗?如果删除订阅和发布,您将得到几乎相同的代码,而不会增加“复杂性”

在其他情况下,发布/订阅很有意义。显示/哈希和设置/登录很有意义,因为它们不是其他代码可以订阅/绑定的传统事件的一部分


有人可能会提出这样的论点,即通过在任何地方使用pub/sub,包括事件内委托,您将不再依赖于外部代码,而不必编写自己的事件委托,这就消除了他们对将委托绑定到哪个元素的担忧。如果您正在编写大型复杂的应用程序,请继续并将其抽象到该级别。如果您不打算编写大型应用程序,请权衡一下好处,因为YAGNI可能会在这里应用。

我认为这样的问题可能更适合or。您可能需要检查
backbone.js
@Pablo Fernandez如果您注意到我的示例,backbone.js代码中有一些部分。。。我意识到了;)@gnarf如果你注意到我使用的pubsub要点与Rmurphy相同,我在写这个问题之前读过她的博客=)我很久以前问过这个问题。我是来自学答案的,同时继续在pubsub中使用MVC模式。。。事实上,你在这个例子上是对的(事实上这不是最好的例子)。然而,你的回答很有解释性。谢谢你的时间=)