6

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

因为我一直是一个人做的,所以我很谦虚地来这里就我试图按照这些模式进行的一个小型教育练习征求意见

http://jsfiddle.net/Couto/R62V8/

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

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

4

1 回答 1

2

jQuery 的事件委托系统本身就是一种发布/订阅的形式。事实上检查一下,http://bugs.jquery.com/ticket/7547。您将在后台看到它使用事件系统并且实际上只更改命名方案并在“全局”上下文中工作。

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

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

有人可以提出这样的论点,即通过在任何地方使用 pub/sub,包括在事件委托中,您可以将您对外部代码的依赖从必须编写自己的事件委托中抽象出来,这消除了他们对将委托绑定到什么元素的担忧. 如果您正在编写大型复杂的应用程序,请继续并将其抽象到该级别。如果您不打算编写大型应用程序,请权衡 YAGNI 可能适用于此处的好处。

于 2011-07-19T15:28:11.950 回答