当超越RAD(拖放和配置)构建用户界面的方式时,许多工具鼓励您可能会遇到三种设计模式,称为模型 - 视图 - 控制器,模型 - 视图 - 展示器和模型 - 视图 - 视图模型.我的问题有三个部分:
model-view-controller mvp user-interface glossary design-patterns
在设计MVC时,我对结构依赖性有点困惑 - 所以我们有一个模型,集合和视图(我还没有使用控制器,但问题也适用于它).现在谁有参考谁可以用OO术语发言.因此,集合是一个模型列表,因此我们可以将其视为从集合到模型的一对多依赖.在一些示例代码中,我有时会看到对"模型"对象中的视图的引用以及视图中模型的引用.有时在视图中的集合.
在模型中我有时会看到一个this.view和在视图中我看到的东西像this.model.view或一个this.model因此混淆澄清:)
那么什么是"正确"的依赖关系(如果有"正确的方式")或者每个人都可以依赖于每个人(不要认为这是正确的)即,谁应该理想地依赖于Backbone的MVC中的谁物体的设计?当我看到这些截然不同的例子时,从结果的角度来看,知道他们应该如何在结构上相关,这有点令人困惑:)作为一个菜鸟什么是开始构建我的依赖关系的"正确"方式 - 一旦我上升了学习曲线我可能会自己弄清楚,但首先,应该怎么做呢?一个类似UML的图表将是一个额外的奖励;)
另一个问题:有时我在同一段代码中看到两个视图:例如:着名的todo.js http://documentcloud.github.com/backbone/docs/todos.html
现在虽然我理解需要多个视图,但令人困惑的是它们有何不同?我的意思是'el'和'tagName'之间的区别是什么?如果其中任何一个缺席,视图的行为会有何不同?我的意思是在上面的链接中,一个视图使用'tagName'而另一个'el',我不确定它们是如何关联的(如果有的话).
我已经仔细阅读了文档,但正如我所说的那样,我仍然在学习,所以即使有了所有资源,我可能也不会清楚地理解它的一部分,可能需要一些人为干预:)
将业务逻辑保留在JSP之外有什么好处,因为JSP主要用于表示?我们仍然看到在JSP中编写业务逻辑,因此我需要知道通过将业务逻辑移出JSP而获得的好处.
我最近一直在做一些研究/阅读mvc,只是想知道主要目的是什么.
我可能完全忽略了这一点,但是asp.net表单确实从html中分离了逻辑,如果你只是想要干净的url,为什么不使用mod_rewrite规则呢?
我有一个web应用程序,包含一些html表单,用于维护一些表(SQlite,使用CherryPy来处理Web服务器的东西).首先,我完全采用"Python方式",并通过生成html字符串.代码,具有公共页眉,页脚等,在单独的模块中定义为函数.
我也喜欢模板的想法,所以我尝试了Jinja2,我发现它非常适合开发人员.一开始我认为模板是要走的路,但那是页面很简单的时候.引入.css和.js文件后(不一定与.html文件位于同一文件夹中),并引入了越来越多的{{...}}变量和{%...%}命令,事情在设计时开始变得混乱,尽管它们在运行时看起来很棒.当我需要额外的javascript或部分时,事情变得更加困难.
据我所知,使用模板的主要优点是:在设计过程中,可以在浏览器中轻松查看页面的非动态元素.除了{}占位符之外,html与python代码分开.如果您的公司有网页设计师,他们仍然可以在不知道Python的情况下进行设计.
虽然有些缺点是:{{}}分隔符在设计时在浏览器中查看时可见.相关的.css和.js文件必须在同一文件夹中才能在设计时在浏览器中查看效果.数据,变量,列表等必须在高级中准备,并且要么全局声明,要么作为参数传递给render()函数.
那么 - 什么时候使用'硬编码'HTML,何时使用模板?我不确定最好的方法,所以我很想听听其他开发者的意见.
TIA,艾伦
我相当肯定我的教授会问我为什么选择将MVC用于我的网络应用程序.
说实话,我是MVC的新手.我读到了它,我正在使用它构建一个博客应用程序,我认为以这种方式处理问题是非常合乎逻辑的.
但为什么?O_O我画一个空白.如何建立一个N层应用程序更适合?
php model-view-controller defensive-programming zend-framework
我真的无法在MVC中获得模型对象的悬念.我想知道为什么我们不能只使用数组和字典以及字典数组?
我知道它们代表了我的其他类操作和使用的"数据".但他们应该构建的正确方法是什么?假设我有一个我想读的plist并在表视图中显示.我可以直接将它加载到我的viewDidLoad方法中的数组属性中,然后使用它,对吧?我为什么要使用Model类,我将如何构建它?
此外,任何解释这一点的资源/博客链接将不胜感激!
asp.net-mvc ×2
asp.net ×1
backbone.js ×1
cocoa-touch ×1
glossary ×1
html ×1
ios ×1
java ×1
java-ee ×1
javascript ×1
jsp ×1
model ×1
mvp ×1
objective-c ×1
php ×1
python ×1
servlets ×1
templates ×1
webforms ×1