相关疑难解决方法(0)

MVC和MVP监督控制器是一样的吗?

可能重复:
什么是MVP和MVC,有什么区别?

我在网站上看过MVC的以下描述:

在这种MVC的情况下,Controller只是构建模型并将其传递给View进行渲染.视图和控制器之间没有任何有状态的相互作用,只是一个"嘿,这是模型,稍后再见"从Controller到View.

我已经阅读了关于MVP - 监督控制器的以下内容

监督控制器:演示者处理用户手势.View直接通过数据绑定绑定到Model.在这种情况下,Presenter的工作是将Model传递给View,以便它可以绑定到它.演示者还将包含手势逻辑,如按下按钮,导航等.

从上面的描述我觉得MVC和MVP背后的基础逻辑 - 监督控制器是相同的.

我的理解是否正确?

提前致谢

c# architecture model-view-controller mvp

6
推荐指数
1
解决办法
2206
查看次数

适当的MVC模式

我遇到了以下两种方法.

方法1

方法2

根据我的理解,模型和视图不会相互通信,所有通信都应该通过控制器完成,因此方法1是正确的方法.但我在网上发表了各种文章.

实现MVC架构的正确方法是什么?

谢谢

model-view-controller

6
推荐指数
1
解决办法
2833
查看次数

关于经典MVC的问题

在经典MVC中,模型通知视图有关其所做的更改.在C#中,这意味着我必须将我感兴趣的View和子类class寄存器子类化为模型的事件.例如,如果我使用C#和Winforms实现MVC,我必须继承TextBox类,然后在MyTextBox的构造函数中注册模型事件.我对么?这是如何在Smalltalk发布的?是否还需要为每个View创建子类以注册模型的事件,或者是否有某种方法可以动态地向视图中添加事件?

谢谢

c# design-patterns smalltalk objective-c

5
推荐指数
1
解决办法
327
查看次数

MVP设计模式的最佳实践

考虑以下实现MVP模式的伪代码:

interface Presenter {
    void onSendClicked();
}

interface View {
    String getInput();
    void showProgress();
    void hideProgress();
}

class PresenterImpl implements Presenter {
    // ...ignore other implementations
    void onSendClicked() {
        String input = view.getInput();
        view.showProgress();
        repository.store(input);
        view.hideProgress();
    }
}

class ViewImpl implements View {
    // ...ignore other implementations
    void onButtonClicked() {
        presenter.onSendClicked();
    }

    String getInput() {
        return textBox.getInput();
    }

    void showProgress() {
        progressBar.show();
    }

    void hideProgress() {
        progressBar.hide();
    }
}
Run Code Online (Sandbox Code Playgroud)

这是MVP模式的另一种实现:

interface Presenter {
    void saveInput(String input);
}

interface View { …
Run Code Online (Sandbox Code Playgroud)

c# java oop mvp design-patterns

5
推荐指数
1
解决办法
795
查看次数

什么是MVC,与Zend框架有关?

我正在学习Zend Framework,它使用的是MVC模型.

我仍然没有理解MVC 模型,视图,控制器是什么.

三个不同的领域是什么,程序流程是什么样的?

php model-view-controller design-patterns zend-framework

4
推荐指数
2
解决办法
3933
查看次数

Apple为什么说iPhone应用程序使用MVC?

Apple将iPhone应用程序使用的架构模式描述为MVC.但是,几乎没有现代应用程序使用MVC(如Trygve Reenskaug所述).现代操作系统,包括iPhone OS,本身就可以处理控制器的责任.什么是错误的,通常被称为MVC实际上是MVP.

Apple为什么说MVC而不是MVP?

iphone cocoa-touch design-patterns

4
推荐指数
2
解决办法
3259
查看次数

在WinForms中,UI中可能有多个线程吗?

我认为答案是肯定的.我在stackoverflow上检查了类似的问题,但它们似乎根据特定解决方案所需的内容(但可能已经错过了某些内容)进行了不同的指示.

是否有可能在WinForms应用程序中拥有多个UI线程?我正在重构并想知道是否应该使用ConcurrentDictionary或Dictionary来访问那些访问表单的线程.这是针对具有多个开发人员/设计的更大代码,我希望尽可能选择(但不要过度设计).由于我正在寻找一般性答案,因此细节不在这个问题中,尽管它们通常都是.感谢您的期待和任何帮助 - 非常感谢.

c# multithreading winforms

3
推荐指数
1
解决办法
1268
查看次数

我可以说MVP = 3级Archi?

从最近几天开始,我一直在寻找新的Web应用程序的最佳架构,这将使用C#在ASP.Net中开发.到现在为止,我只发现并研究了3

  • 三层体系结构(注意:按层,我的意思是逻辑层)
  • 模型视图控制器(MVC)
  • 模型视图演示者(MVP)

现在,我的问题是:

1)据我所知3 Tier Architecture和MVP我可以说MVP和3 Tier是一回事吗?如果没有,那么两者之间有什么区别?(注意:我只发现MVC和MVP或MVC和3 Tier Archi之间的区别,但没有人能够解决MVP和3 Tier Archi之间的差异)

2)我只发现了以上三种架构选项,还有其他选择吗?(注意:这里我只想要Web应用程序整体架构的选项,如上面的3)

architecture asp.net mvp three-tier web-architecture

2
推荐指数
1
解决办法
2299
查看次数

我使用什么样的架构模式/设计?

我的许多企业应用程序都包含多个c#解决方案的架构文本,如下所述.

我有一个类库,包含表示信息的类和接口.例如,一个类表示用户并包含适当的属性.与结构相似.我的任何其他项目都可以引用此项目,以全面了解它们之间传输的对象.这个项目很少或没有逻辑.我称之为"存储库".

我有一个单独的解决方案来处理持久性的访问.它几乎只是调用从持久性源(数据库,网站,文件等)收集数据的包装器.它接收的信息集被格式化为我的"存储库"的类.这个项目很少或没有逻辑.我称之为"持久访问"或"数据访问".该解决方案还主要包括集成测试和几个单元测试.

我有一个单独的解决方案,它为逻辑组织了类和方法.每当客户应用程序(webservice,wpf,web,android)需要由我公司的业务需求确定的逻辑输出时,方法在逻辑上组织成一个或多个这些类.该项目调用我的"持久访问",并且可以以通用类型/集合的形式或以我的"存储库"类型之一的形式接收和输出.该项目根据业务需求包含多个类和几乎所有企业应用程序的逻辑.我称之为"商业逻辑". 该解决方案还主要包括单元测试,也可能包括几个集成测试.

我有一个asp.net Web应用程序项目.我的Web应用程序有javascript,css,aspx,代码隐藏文件,以及其他一些自然伴随这些东西的基础知识(一些ashx).如果页面需要逻辑或数据以确定页面上显示的内容,则Code Behind文件会调用"业务逻辑"来进行这些确定.asp.net aspx对象唯一做的就是格式化这些信息.我将这些页面中的每一个称为"视图""ViewModels". 这个应用程序包含很少的测试,因为它主要只是aspx,xhtml,css和代码隐藏中的一对受保护的事件处理程序.(可能对ashx文件进行了一些测试.)

我的困惑是: 在ASP.Net Web开发术语中,我想说我正在使用模型 - 视图 - 控制器架构.但我不使用Microsoft MVC Web应用程序,因为我想将我的业务逻辑完全分离出网站.

那么说我使用MVC是正确的吗?我以前创建了MS MVC Web应用程序,但是对于可能有多个用于业务逻辑的复杂项目(大多数都是这样),我使用了我所描述的这种架构.或者,我使用其他一些预先命名的架构吗? 我想知道与Web开发有关的架构模式名称. 所以MVVM本身并不直接与我相关.

c# asp.net-mvc

2
推荐指数
1
解决办法
787
查看次数