服务器控件如何违反 MVC 设计模式?

2023-12-19

我问的原因是 tvanfosson 对他对另一个问题的回答的(第一个)评论我的问题 https://stackoverflow.com/questions/3689236/what-are-the-key-concepts-to-know-when-migrating-my-mindset-from-asp-net-to-asp-n他(关于 ASP.NET MVC)说道:“缺乏服务器端控件是由于固有的关注点分离,这使得 MVC 成为一种良好的开发模式......”。
我当然了解 ASP.NET 服务器控件,并且我认为我了解 MVC 设计模式,但我不明白服务器控件如何违反 MVC。

Thanks.


我认为这与回发+视图状态+事件模型有很大关系。

上述情况隐式发生,以模拟用户以多步骤方式与应用程序交互的模型,其中系统存在各种状态。由于每个控件都保存其 viewState,因此每个控件本质上都会对整体状态做出贡献,随着页面复杂性的增加,这可能会变得难以遵循。我还认为,便利性会加剧上述复杂性。

上面的内容可能更多地是对 Restful 的争论,它提倡更多地依赖协议的做事方式。使用 posts 来实现上述目的确实不是 HTTP 协议的初衷。只需采用 asp.net 网格的原始内置分页,因为它基于回发,搜索引擎会忽略第 1 页之外的任何内容。此外,您不再能够仅通过 url 访问所述信息页面。

恕我直言,ASP.NET MVC 上下文中的 MVC 模式更多的是关于简单的请求/响应操作。您可以根据需要将其变得复杂,但它促进了更简单的操作方式。它不像经典那样基于分散在页面/视图上的几个不同信息位的状态;但如果这就是您所需要的,您仍然可以实现它,但这样做时您必须更加明确。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

服务器控件如何违反 MVC 设计模式? 的相关文章

  • 如果我以后要应用ado实体框架,推荐的数据访问层设计模式是什么?

    我正在创建一个网站并使用 Linq to SQl 作为数据访问层 并且我愿意使该网站可以在 linq to sql 和 ado 实体框架上工作 而无需更改其他层中的许多内容 业务逻辑层或 UI层 实现这一目标的推荐模式是什么 你能简单解释一
  • Joshua Bloch 的构建器设计模式有何改进?

    早在 2007 年 我就读过一篇关于 Joshua Blochs 所采用的 构建器模式 的文章 以及如何修改它以改善构造函数和 setter 的过度使用 特别是当对象具有大量属性 其中大部分属性是可选的 时 本文对此设计模式进行了简要总结
  • 可插入错误处理策略[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有服务对象 服务 A 它有一些特定的重复异步任务 该服务对象还有一个监督对象 服务B 我想处理与服务 A 中特定任务相关的大部分错误
  • 工厂模式和策略模式

    我需要创建一个类来负责结果集处理 但可能会发生应该使用不同的算法来处理该结果集的情况 我知道以下选项 1 使用策略模式 伪代码如下 interface Strategy processResultSet ResultSet rs class
  • IoC 服务的抽象类还是接口?

    我目前正在使用 IoC 在项目中提供存储库的具体实现 我读过的所有示例都使用接口作为服务的定义 但是 在阅读了 Microsoft 的建议后 建议更喜欢抽象类而不是接口 http msdn microsoft com en us libra
  • MonoState、Singleton 或派生形式:CRUD 应用程序的最佳方法?

    我有一个相当大的 CRUD WinForm 应用程序 其中有许多对象 人员 注册 计划 案例注释等 该应用程序由 30 多种表单组成 UI 逻辑上被分解 会员 注册 计划 案例说明等 我正在尝试弄清楚如何创建我的人物对象搜索后搜索表格并将对
  • 进度状态报告模式

    我正在实现需要显示进程栏 或进度百分比 的长时间运行的进程 长时间运行的过程的整体逻辑很复杂 各种分页数据检索 因此 我最终在代码中的不同位置硬编码了大量百分比 在更新完成百分比时 什么被认为是最佳设计模式 我发现 JFace 周围使用的模
  • 是检测异常并抛出它们还是让运行时抛出它们更好?

    假设有这样的设置 public class MyClass public void DoSomething string Data if String IsNullOrWhiteSpace Data throw new NullRefere
  • 如何将 sqldatareader 转换为 dto 列表?

    我刚刚开始将所有 ado net 代码从 asp net 页面移动到存储库 并为每个表创建 dto 手动 但现在我不知道将 sqldatareader 转换为我的列表的有效方法是什么dto 对象 例如 我的 dto 是 Customer 我
  • 是否有任何库可以解析Java中的“数字表达式”,例如1,2-9,33-

    我不认为这很难 只是写起来很乏味 一些小的免费 如啤酒 库 我可以在其中放入像 1 2 9 33 这样的字符串 它可以告诉我给定的数字是否与该数字匹配表达 就像大多数程序的打印范围对话框一样 仅匹配奇数或偶数 或匹配每个 2 mod 5 或
  • tbb:并行查找第一个元素

    我遇到了这个问题 查找列表中满足给定条件的第一个元素 不幸的是 该列表相当长 100 000 个元素 并且使用单个线程评估每个元素的条件总共需要大约 30 秒 有没有办法干净地并行化这个问题 我浏览了所有tbb模式 但找不到任何合适的 UP
  • 如何将 SOLID 原则应用到现有项目中

    我对这个问题的主观性表示歉意 但我有点卡住了 我希望之前处理过这个问题的人能够提供一些指导和建议 我有 现在已经成为 一个用 C 2 0 编写的非常大的 RESTful API 项目 并且我的一些类已经变得巨大 我的主要 API 类就是一个
  • 在事件聚合器中混合枚举与事件类

    我最近尝试实现自己的简单事件聚合器 我从 MSDN 上的事件聚合器文章中获得了很多灵感 关于 MSDN 上的事件聚合器 我注意到一件事是事件实际上是它们自己的类 这根本不是一件坏事 然而 我只是觉得总是为每个小事件创建一个新的空类很尴尬 我
  • 您网站上的自定义 jQuery 脚本有多少行代码?多少才算是太多呢?

    对于我们的网站 我使用了大量 jQuery 现在我正在查看基础库顶部的 340 行 jQuery 代码 多少是太多了 我将添加更多内容 我什么时候开始尝试压缩代码并最终转向 OOP 行数并不意味着什么 重要的是你实际上在做什么 您可能拥有
  • 空对象模式以避免空检查?

    最近 我遇到了空对象设计模式 我的同事说它可以用来消除整个代码中遇到的空指针检查 例如 假设 DAO 类返回有关 Customer 的信息 在名为 CustomerVO 的值对象中 我的主类应该提取名字和电子邮件 ID 并向客户发送电子邮件
  • 用更好的模式替换开关(Javascript)

    我必须升级我的应用程序以根据用户类型和角色属性显示页面 目前 我使用一个简单的 switch 语句来根据用户类型来执行此操作 例如 switch type case a return CONSTANT ONE case b return C
  • 这个单例能够抵抗序列化和反射攻击吗?

    以下代码是否能够抵抗序列化和反射攻击 public class Example private static Example instance new Example private Example public static Exampl
  • 状态机实现

    我正在尝试构建一个棋盘游戏 并且看起来它必须使用状态机来实现 我知道的状态模式 http en wikipedia org wiki State pattern来自 GoF 但我确信一定还有其他方法来实现状态机 请告诉我 如果您知道任何文章
  • 如何在javascript中实现观察者模式?

    你好 我正在尝试在 JavaScript 中实现观察者模式 我的index js document ready function var ironMan new Movie ironMan setTitle IronMan ironMan
  • 使用策略和工厂模式进行依赖注入

    我正在开展一个业余项目 以更好地理解控制反转和依赖注入以及不同的设计模式 我想知道是否有将 DI 与工厂和策略模式结合使用的最佳实践 当策略 从工厂构建 需要每个可能的构造函数和实现不同的参数时 我面临的挑战就出现了 因此 我发现自己在服务

随机推荐

  • 需要工作但导入不工作

    我有一个 actions js 文件正在导出这样的操作 export var toggleTodo id gt return type TOGGLE TODO id 但是当我使用 es6 import 导入它时出现错误 Uncaught T
  • 如何动态地将分支目标提示到 x64 CPU?

    我想知道如何用 C C 或汇编语言为 x64 处理器编写高效的跳转表 输入是预先已知的 但不可能通过算法来预测 假设我可以在输入流中查看尽可能远的位置 有什么方法可以动态地告诉 CPU 下一个分支将转到哪个地址 本质上 我想以编程方式更新分
  • 没有模板引擎的 Node.js

    我是 Node js 新手 正在尝试学习 据我了解 使用模板引擎 例如 Jade 是很常见的 甚至对于 CSS 例如 Stylus 也是如此 老实说 我见过的所有教程在布局方面都涉及模板引擎 问题是我不想使用模板引擎 因为我认为它不必要地复
  • javascript客户端到Python服务器:获取请求后XMLHttpRequest响应文本为空

    我正在尝试编写一个 chrome 扩展 它能够向 python 服务器脚本发送 接收数据 目前 我正处于 js 脚本发出 GET 请求的阶段 唯一的问题是 responseText 始终为空 即使 python 脚本以文本响应 popup
  • 高质量图像缩放库[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想在 C 中缩放图像 其质量级别与 Photoshop 一样好 有没有任何 C 图像处理库可以完成这项工作 这是一个注释良好的图像操作帮
  • For循环不推断无符号整数[重复]

    这个问题在这里已经有答案了 根据 F 中 for to 循环的 MSDN 文档 标识符的类型是从开始和结束表达式的类型推断出来的 这些表达式的类型必须是 32 位整数 但是 使用下面的代码 我收到以下编译时错误 for bar 0u to
  • 在 php 中使用 jquery 每 5 秒更改图片 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 请帮助我 我是 jQuery 新手 这是我的代码 img src default jpg img src a jpg img src b
  • 避免模​​块名称修改的干净方法?

    我正在使用 Python 的 ctypes 来连接 C 库文件 运行类型基因 http code google com p ctypesgen 创建一个我可以导入的包装模块 例如 api py 许多 C 函数和宏的名称都以双下划线开头 Py
  • 将 Ajax/UI JS 框架(ext、jquery-ui)与 MVC PHP 框架(zend、symfony)结合起来是个好主意吗?

    我意识到这是一个非常普遍的问题 但我想我并不是真的在寻找明确的答案 作为 PHP 框架的新手 我很难理解它 Javascript 框架 尤其是 UI 扩展 似乎有类似 MVC 的方法 将 JS 代码与设计分开 在后端使用额外的 MVC 框架
  • 为什么 std::map 需要一个运算符< 以及如何编写一个

    我正在使用 std map 库 我试图将一堆数据放入地图中 我创建了一个地图来保存日期 time t 和浮点数 但是当我尝试添加它们时 我的编译器告诉我 错误 与 operator 我尝试创建一个重载的 这是我正在运行它的类 class M
  • 对 Material UI Select 组件的更改做出反应测试库

    我正在尝试测试onChange的事件选择组件 https material ui com api select using 反应测试库 https github com kentcdodds react testing library 我使
  • PowerShell:更改文件夹或文件的时间戳(创建日期)

    对于 Windows 10 上的 PowerShell 命令 我遇到了奇怪的行为 要更改文件的创建日期 我使用 Get ChildItem C testFile1 txt CreationTime 01 11 2005 06 00 36 要
  • jQuery/原型冲突

    我正在使用 jQuery hoverIntent js 脚本来构建大型下拉菜单系统 其灵感来自于 Son Tonaka 的大型下拉菜单 w CSS 和 jQuery sohtanaka com web design mega drop do
  • List 抛出 ConcurrentModificationException 但 set 不抛出 ConcurrentModificationException? [复制]

    这个问题在这里已经有答案了 我有以下两个java类 import java util public class ArrayListTest032 public static void main String ar List
  • 防止网页抓取

    我目前是开发一个应用程序的团队的一员 该应用程序包括前端客户端 通过这个客户端 我们发送用户数据 每个用户都有一个用户 ID 客户端通过 RESTful API 与我们的服务器对话 向服务器请求数据 例如 假设我们有一个书籍数据库 用户可以
  • 将部分模式从 sed 传递到 shell

    我有一个文件 其中包含以下格式的行 w1 1 x w2 4 b w3 2 d 该行中的每个单词 标记 例如 w1 1 x 由 3 部分组成 第一个部分显示某个索引 本例中为 w1 第二个是整数 本例中为 1 第三个是一个字符 在本例中为 x
  • 使用背景颜色在 UIDatePicker 上设置角半径

    我有一个UIDatePicker在我看来 并设置了背景颜色UIDatePicker self datePicker backgroundColor UIColor lightTextColor self datePicker layer c
  • php:将 ntlm 凭据转发给curl

    我有一个动态 php 页面 我需要使用 get 参数来调用它 然后我想将生成的 html 放入一个字符串中并稍后使用它 我正在尝试用于 Web 服务的 tonic 框架 所以这类似于PHP 将动态生成 和回显 的 HTML 读取到字符串中
  • PHP 重定向与自定义标头

    我正在编写一个基本的授权系统 但我有点挣扎 涉及两个文件 index php and login php 登录表单非常简单 它在里面index php fieldset class right fieldset
  • 服务器控件如何违反 MVC 设计模式?

    我问的原因是 tvanfosson 对他对另一个问题的回答的 第一个 评论我的问题 https stackoverflow com questions 3689236 what are the key concepts to know wh