Tag: mvp

EF4两个型号一个数据库,可能吗?

我一直在寻找这个答案,似乎找不到任何东西,但是对于EF4,我想创建一个基础模型并放入我们的“基础”和我们创建的任何新项目,如果我们需要向该站点db添加自定义表是否可以添加一个只有那些特定表格的模型并将其链接到我们的“基础”中的模型我似乎无法在这样的事情上找到一个好的资源,这似乎就像它是正常的有一个可重复使用的基础模型和一个单独的一个用于任何一个off 感谢您的帮助或指点!

用于Winforms和WPF中的复杂GUI库设计的模型 – 视图 – 展示器(或其他GUI架构)

我不太确定如何标题这个问题,甚至不确定,但我会尽我所能。 我正在构建一个图表/流程图样式设计器,它涉及(从很高的层次)控件,连接,连接点,编辑叠加等工具箱。 控件由业务对象或组件支持。 (即可能存在由’Accounts’UI / View组件表示的’Accounts’组件。 下面是我上面提到的示例模型。 这不是失控的,应用程序的hundres具有类似的function。 我已经有了这个(或多或少)的工作版本,但是我自己(在我看来)做得非常糟糕,为了让我们能够实现这种可扩展性,以便我可以继续我们的水平开发(额外的工具箱支持),我需要重构并做到更干净。 我一直在引用一些关于常见GUI架构的文章,如MVP,MVVM,MP,PV,PM等。 我担心的是,到目前为止我所阅读的所有内容都与为CRUD操作定义GUI架构密切相关。 这些都不是真正讨论复杂的UI库设计。 我已经能够找到一些文章给出了关于这个主题的一些“最佳实践”,但对我而言,这对我来说并不是很重要。 到目前为止,MVP最接近我的想象会为此工作,但我不相信足够顺其自然。 它可能没多大帮助,但我想我可以列出一些需要考虑的交互/行为。 没有什么与您在图表或流程图应用程序中看到的不同。 控件(由业务对象支持,很可能只是对稍后要创建的类型的引用)可以从工具箱拖动到设计器canvas。 可以拖动,删除控件并修改其状态(业务状态)。 可以在源组件和目标组件之间启动连接。 可以在soruce和目标组件之间移动连接(两端)。 多个设计师窗口可以打开,因此我们必须保持“主动”设计师的概念。 我仍然不确定在设计这个我希望维护UI状态/逻辑以及业务状态/逻辑的地方。 此外,“活跃设计师”的概念将保持在哪里等等。 更新显然,这是SO巨魔的另一个目标,因此我将尝试澄清我的问题/post。 我对应用于UI设计的不同模式有一定的了解,但是对于复杂UI组件的库设计而言,它似乎不够通用。 我可能错了。 我想知道的是在这个特定场景的情况下,从上面讨论的内容来看,我错误地认为沿着MVP的路线可能无法解释复杂的UI逻辑?

按惯例/reflection动态连接视图,模型和演示者

我正在尝试使用MVP模式开发应用程序。 问题是手动连接所有代码。 我希望减少所需的代码。 我试图复制另一个解决方案,但我无法开始工作。 我正在使用Winforms,我使用的解决方案是使用WPF。 它会在某些约定上汇总事物: 视图事件按名称连接。 例如:视图上的“已加载”事件将连接到演示者上的“OnLoaded()”方法按钮命令按名称连接。 例如:MoveNext“按钮连接到”OnMoveNext()“方法。网格双击按名称连接。例如:双击”Actions“将连接到”OnActionsChoosen(ToDoAction)“ WPF中的工作代码是: private static void WireListBoxesDoubleClick(IPresenter presenter) { var presenterType = presenter.GetType(); var methodsAndListBoxes = from method in GetActionMethods(presenterType) where method.Name.EndsWith(“Choosen”) where method.GetParameters().Length == 1 let elementName = method.Name.Substring(2, method.Name.Length – 2 /*On*/- 7 /*Choosen*/) let matchingListBox = LogicalTreeHelper.FindLogicalNode(presenter.View, elementName) as ListBox where matchingListBox != null select […]

Mvp View知道模型

我正在尝试使用MVP,我注意到我的视图必须知道模型不应该发生在我认为的MVP中。 这是一个例子: public partial class TestForm : Form, ITestView { public void LoadList(IEnumerable data) { testPresenterBindingSource.DataSource = data; } } public interface ITestView { event EventHandler Load; void LoadList(IEnumerable data); } public class TestPresenter { private ITestView view; public TestPresenter(ITestView view) { this.view = view; view.Load += View_Load; } private void View_Load(object sender, EventArgs e) […]

解耦视图,演示文稿和ASP.NET Web窗体

我有一个ASP.NET Web窗体页面,演示者需要在其中填充控件。 这种交互对页面生命周期有点敏感,我想知道是否有一个技巧,我不知道。 我想要对整个事情保持实用,但不要牺牲可测试性。 目前我有这个: public interface ISomeContract { void InstantiateIn(System.Web.UI.Control container); } 这个契约依赖于System.Web.UI.Control,我需要能够使用ASP.NET Web Forms编程模型。 但是视图和演示者都不了解ASP.NET服务器控件。 我该如何解决这个问题? 如何在我的具体视图中使用ASP.NET Web窗体编程模型而不在合同程序集中使用System.Web.UI.Control依赖项? 为了澄清一点,这种类型的界面都是关于UI组合(使用MEF)。 它在整个框架中是众所周知的,但它实际上只是在具体视图中调用。 具体视图仍然是唯一知道ASP.NET Web窗体的东西。 但是,那些说InstantiateIn(System.Web.UI.Control)公共方法存在于我的合同程序集中,这意味着对ASP.NET Web窗体的依赖。 我一直在考虑一些双重调度机制甚至访问者模式来尝试解决这个问题,但我还不知道我想去哪个方向,我真的希望对此事有一些意见。

在Winforms(C#)中使用具有MVP模式的backgroundworker

我一直试图通过使用MVP模式来重构应用程序的意大利面条代码。 但现在我正在努力解决这个问题: 具有调用DoWork方法(后台工作者)的按钮的表单,该方法是长操作。 我的问题是,如果我将长操作从视图移到Presenter,那么如何将进度更改从此操作发送到View? BGW也必须在演示者中吗? 你能给我一个如何做的样本吗? 先感谢您。

WPF:MVP与MVVM

MVP VS MVVM有什么区别? 为什么我们使用MVP,即使我们有三个层次:业务,数据访问和演示? 是否有任何特定的理由将Presentation层划分为MVP?

样本MVC / MVP winforms应用程序(非平凡)

我正在寻找在Winforms(C#.NET)中实现的MVC / MVP的一个非平凡的例子。 我搜索了网站,但只获得了一些简单的例子,多一点会有所帮助。 我特别关注实现视图的方法(查看主子模型)和控制器/演示者。

MVPdependency injection

使用MVP,构造和dependency injection的正常顺序是什么。 通常,您为每个视图创建一个演示者,并将视图传递给构造函数上的演示者。 但是,如果你有: 多个视图需要监听事件的服务。 多个视图都指向相同的数据模型缓存。 有人可以显示从用户点击到服务器返回服务的数据的正常信息流。

如何将对象集合绑定到Winforms中的DataGridView

如果我有两个对象,即Fruit’ and Color`,它们的定义如下: public class Fruit { public int FruitId { get; set; } public string Name { get; set; } public Color Color { get; set; } } public class Color { public int ColorId { get; set; } public string Name { get; set; } } 如何将Fruit的集合(eg List)绑定到DataGridView? 结果输出将类似于以下内容: +—–+——–+———-+ | Id | […]