RailsPresenters文件夹有什么用?这个文件夹里有什么?为什么需要这个文件夹? 最佳答案 presenters是一种设计模式,通常称为ModelViewPresenter(MVP)这是ModelViewController模式的派生,用于创建用户界面。它对于使代码更干的关注点分离很有用。维基百科是这样描述的model-interfacedefiningthedatatobedisplayedorotherwiseacteduponintheuserinterface.presenter-actsuponthemodelan
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。在一次采访中,有人问我一个问题,我们可以使用MVC或MVP设计模式或实践创建WPF应用程序吗?我说过MVC或MVP是一种开发松耦合应用程序的设计模式。我们将根据给定的场景、上下文、技术和应用程序平台使用MVC、MVP或MVVM。如果我们可以使用MVC或MVP创建WPF应用程序,如果您有代码或PoC形式的任何好的示例,请分享或解释。
我们正在使用MVP模式,我想知道如何处理GUI操作。例如,当用户想要从网格中删除一行时,用户按下删除按钮。此时你可以做两件事:1)调用_presenter.DeleteRow(),然后演示者调用_view.SelectedRow。然后演示者调用view.AskUserForConfirmation(),当它返回DialogResult.OK时,演示者实际上删除了底层对象并刷新了网格。2)表单要求用户确认,当DialogResult为OK时,调用presenter.Delete(myObject)或presenter.Delete()被调用,在Delete方法中通过调用_view.Sel
我们一直在使用MVP模式和Winforms,并取得了相当大的成功。然而,关于MVP总是弹出一个问题:对于演示者来说,什么是好的粒度?我的意思是:对于Winforms,细粒度通常适用于用户控件。这样,在设计更复杂的GUI时,很容易重用用户控件并将它们用作构建block。但是,与演示者具有相同的(精细)粒度似乎是一个问题。一方面,粗粒度的演示者阻碍了使用“插件”控件的能力,并且它有点违反DRY原则:多个演示者通常需要实现相同的逻辑(填充例如,客户列表),它由多个更复杂的控件使用。另一方面,细粒度呈现器似乎限制了在不同情况下重用控件的能力。例如,编辑View有时可能需要立即保存客户;有时它需
使用MVP,构建和依赖注入(inject)的正常顺序是什么。通常,您为每个View创建一个展示器,然后将View传递给构造函数中的展示器。但是,如果您有:多个View需要监听事件的服务。多个View都指向同一个数据模型缓存。有人可以显示从用户点击到从服务器返回到服务中的数据的正常信息流吗? 最佳答案 这是我的做法:首先,我定义了这些接口(interface):publicinterfaceIView{TPresenterPresenter{get;set;}}publicinterfaceIPresenterwhereTView:I
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎与helpcenter中定义的范围内的编程无关。.关闭8年前。Improvethisquestion我正在努力思考C#/Winforms应用程序中使用的MVP模式。所以我创建了一个简单的“记事本”之类的应用程序来尝试计算出所有的细节。我的目标是创建一些东西来执行打开、保存、新建等经典Windows行为,并在标题栏中反射(reflect)已保存文件的名称。此外,当有未保存的更改时,标题栏应包含一个*。所以我创建了一个View和一个管理应用程序持久状态的展示器。我考虑过的一项改进是分解文本处理
MVP和MVVM有什么区别?为什么我们使用MVP,即使我们有三个层:业务、数据访问和表示?将Presentation层划分为MVP有什么具体原因吗? 最佳答案 MVP和MVVM都是MVC的衍生物。MVC是一种将用户表示和交互与内部表示分离的模式。这需要三层,因为将用户交互/呈现直接绑定(bind)到内部表示会导致两者弯曲以相互适应。在您的应用程序中,您将这些层描述为表示层、业务层和数据访问层。只有那些非常松散的描述,您才有可能描述任何MVC衍生产品,或原始MVC模式本身。每个导数之间的主要区别在于每一层对其他层的依赖性,以及它们之间
我目前正在从UI向下编写一个ASP.Net应用程序。我正在实现MVP架构,因为我厌倦了Winforms并且想要一些具有更好的关注点分离的东西。所以对于MVP,Presenter处理View引发的事件。这是我用来处理用户创建的一些代码:publicclassCreateMemberPresenter{privateICreateMemberViewview;privateIMemberTaskstasks;publicCreateMemberPresenter(ICreateMemberViewview):this(view,newStubMemberTasks()){}publicCr
我知道如何使用MVC模型,但不知道如何使用MVP。我了解了它们之间的差异,但不知道如何实现。 最佳答案 区别是双重的:View是被动的并且不知道模型presenter(Controller)改变模型的状态,读取信息并将其传递给ViewpublicfunctionshowUsers(){//--snip$data=$accountManager->getUserDetails($from=10,$to=20);$view->bind('list',$data);//--snip}这将是演示者方法的一个简化示例。Here是一个古老的答案
你们中的任何人都可以很好地解释MVP模式在GWT应用程序中的使用吗?任何我看过的例子,我都发现很难理解实现该模式的概念。诸如是什么的问题?它实现了什么,它是如何实现的以及如何扩展它以供将来修改? 最佳答案 http://code.google.com/webtoolkit/articles/mvp-architecture.html和http://code.google.com/webtoolkit/articles/mvp-architecture-2.html 关于java-关于GW