MVVM ViewModel 单例

2024-02-02

如果您不需要每个屏幕的多个实例,那么将所有 viewModels 设置为单例是错误的做法吗?


是的,因为单身人士是邪恶的 https://learn.microsoft.com/en-us/archive/blogs/scottdensmore/why-singletons-are-evil.

您可能会遇到虚拟机保持状态的问题,该状态可能与数据库不同步并导致内存消耗过多。 由于状态被持久化,单元测试会变得更加困难。

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

MVVM ViewModel 单例 的相关文章

  • 过期时自动重新填充缓存

    我当前缓存方法调用的结果 缓存代码遵循标准模式 如果存在 则使用缓存中的项目 否则计算结果 在返回之前将其缓存以供将来调用 我想保护客户端代码免受缓存未命中的影响 例如 当项目过期时 我正在考虑生成一个线程来等待缓存对象的生命周期 然后运行
  • 如何创建向后兼容 Windows 7 的缩放和尺寸更改每显示器 DPI 感知应用程序?

    我是 WPF 和 DPI 感知 API 的新手 正在编写一个在 Windows 7 8 1 和 10 中运行的应用程序 我使用具有不同每个显示器 DPI 设置的多个显示器 并且有兴趣将我的应用程序制作为跨桌面配置尽可能兼容 我已经知道可以将
  • 对于 HTTPS,Request.UrlReferrer 为 NULL

    我在用 Request UrlReferrer AbsoluteUri 在我的项目中获取托管我的应用程序的 URL 如果我从 http 主机重定向 我可以获得 URL 但如果我从 https 主机重定向 我将得到 null 我怎样才能得到
  • 单例属性

    好吧 如果我创建一个单例类并通过公共静态属性公开单例对象 我明白了 但我的单例类还有其他属性 这些应该是静态的吗 这些也应该是私人的吗 我只想通过执行以下操作来访问单例类的所有属性 MySingletonClass SingletonPro
  • 是否可以修改 PDF 表单字段名称?

    情况是这样的 我有一个 PDF 其中包含自动生成的 pdf 表单字段名称 问题是这些名称不太用户友好 它们看起来像 topmostSubform 0 Page1 0 Website Address 0 我希望能够更改它们 使它们类似于 We
  • 在 .Net 中保持 Powershell 运行空间打开

    我正在尝试从 VB Net 中运行一些 PowerShell 代码 如果您知道的话 C 编码器也可能会有所帮助 代码的第一部分 我需要使用密码连接到 na 控制器 并且需要保持连接打开 我还有其他命令需要通过单击按钮来运行 获取文件 显示文
  • 添加 LINQ 的 LongCount 扩展方法是否有实际原因?

    LINQ 有 2 种计算可枚举数的方法 Count and LongCount 实际上 这两者之间的唯一区别是第一个返回一个int 而第二个返回一个long 我不清楚为什么添加第二种方法 它的唯一用例似乎是处理超过 2B 元素的枚举 对我来
  • 我应该如何缓冲绘制的矩形以提高性能(C#/.NET/WinForms/GDI+)

    我在做什么 我正在开发一个 C NET 4 7 2 WinForms 应用程序 它使用以下命令在表单上绘制大量填充矩形Graphics FillRectangle https learn microsoft com en us dotnet
  • 如何更改 OxyPlot Y 轴字符串格式?

    谁能告诉我如何更改 Y 轴字符串格式 我想向 Y 轴百分比添加百分号 我正在使用 OxyPlot 在 wpf 中生成图表 这是我的尝试 但它不起作用 Func
  • 如何使用 ObjectDataProvider 将枚举绑定到 XAML 中的 ComboBox

    我正在尝试绑定一个Enum to a ComboBox 我见过很多人使用ObjectDataProvider但我似乎无法访问它 我还注意到有些人在一段时间内使用它Window Resources 而不是Page Resources但我找不到
  • 从 .net 应用程序登录 OpenID 站点

    我一直在考虑编写一个小工具来登录 SO 并定期使用一些主题 当前信息更新我的个人资料信息 例如我最新的博客文章或我需要帮助的问题等 为了让它工作 我需要以某种方式从控制台应用程序登录到SO 是否有一个 Net 库可以简化使用原始 http
  • WPF Datagrid 循环/选择具有特定属性的单元格

    全新的 WPF 对 WinForms 非常熟悉 这可能会让过渡变得更加困难 我正在尝试将旧 WinForms 项目中的一些功能移植到 WPF 中作为学习体验 目标是在 DataGrid 中查找与 TextBox 中的字符串匹配的单元格值 我
  • 使用 DependencyResolver 通过 MVC 3 进行控制器实例化时出错

    我正在使用 MVC 3 并在应用程序启动时使用以下代码 UnityContainer container new UnityContainer new UnityMappings container DependencyResolver S
  • 模拟 WCF 客户端代理的最佳方法

    有没有办法使用 Rhino 模拟框架来模拟 WCF 客户端代理 以便我可以访问 Channel 属性 我正在尝试对 Proxy Close 方法进行单元测试 但由于代理是使用抽象基类构造的ClientBase
  • 删除 TableLayoutPanel 中的特定行

    我有 TableLayoutPanel 我以编程方式添加行 用户基本上选择一个属性 然后与一些控件一起显示在表中 我想我在这里有一个一般性的理解问题 我会尽力解释它 每行中的控件之一是 删除 按钮 该按钮应该删除它所在的行 我所做的是将事件
  • 如何在 wpf 应用程序的代码隐藏中创建集合视图源

    我有以下代码 public partial class MainWindow Window public MainWindow InitializeComponent var entities new DemoEntities var de
  • 有没有办法在不重新编译的情况下覆盖 .NET Windows 服务名称?

    我有一个 Windows 服务可执行文件 我知道它是用 NET 编写的 我需要将其安装在不同的服务名称下以避免冲突 安装无论如何都不提供指定服务名称 如果我只能访问二进制文件 当我使用 installutil 安装它时是否可以覆盖服务名称
  • 将复选框添加到 UniformGrid

    我正在尝试将复选框动态添加到 wpf 中的统一网格中 但看起来网格没有为它们分配足够的空间 所以它们都有点互相重叠 这就是我将它们添加到后面的代码中的方法 foreach string folder in subfolders PathCh
  • 使用 DataBindingComponent 的 Inflate 方法

    当 Glide 成功渲染图像后 我在更新文本视图时看到此错误 致命异常 java lang IllegalStateException 必需 CustomBinding 类中的 DataBindingComponent 为 null 绑定适
  • 将 xml 反序列化为类,list<> 出现问题

    我有以下 XML

随机推荐

  • 改进 AngularJS 指令代码

    我写了一个 AngularJS 指令 但我对它还很陌生 我不知道我是否以 Angular 方式 完成 这是我的代码 http plnkr co edit X1tOk4z8f6dCK3mfB7HP p preview http plnkr c
  • 没有事务的 JTA 数据源

    假设手动登记和取消资源 我有许多启用 XA 的资源 数据源 我计划对其执行事务更新 此外 一些支持 XA 的数据源可以单独更新 不需要任何其他资源 假设我已经使用登记的数据源提交了多个事务 那么我可以忽略 TransactionManage
  • JMS 客户端工具 - Java 8 的 HermesJMS 的替代品吗?

    HermesJMS 有哪些替代方案 我需要针对 JBoss WildFly 8 进行测试 它使用 Java 8 HermesJms 似乎是为 Java 6 构建的 但我找不到完整的 Java 8 端口 我尝试设置 hermes bat这个配
  • iPhone iOS 如何将 UILongPressGestureRecognizer 和 UITapGestureRecognizer 添加到同一个控件并防止冲突?

    我正在构建一个 iPhone 应用程序 它可以让用户重新排列屏幕上的一些 UI 元素 如何将点击手势识别器和长按手势识别器添加到同一个 UIView 中 当我长按抬起手指时 点击手势识别器就会启动 如何暂时禁用点击手势识别器或防止其在用户长
  • 在 ASP.NET 中使用 Web API 相对于 Web 方法有什么优势

    我熟悉网络方法 现在我收到了使用 Web API 而不是 Web 方法的建议 我做了一个 ASP NET Web API 的演示 它更接近于MVC架构我正在使用经典的 ASP NET Web 开发 我不喜欢搞乱控制器 MVC概念 采用经典开
  • 警告:mysqli_connect():(HY000/2002):尝试以访问权限禁止的方式访问套接字

    这两天我一直在尝试解决这个问题 警告 mysqli connect HY000 2002 尝试以访问权限禁止的方式访问套接字 我的托管是Azure 他的界面非常糟糕 编程语言是PHP 我的数据库与域位于同一资源组中 帐户数据是正确的 我做错
  • 网络中的边长x

    我正在尝试通过以下代码调整两个节点之间的边的长度 但显然这不起作用 谁能指导我在哪里犯了错误 请注意 我已经看过这个帖子了 如何在 Networkx 中指定边长度来计算最短距离 https stackoverflow com questio
  • 如何在 Android Jelly Bean Launcher 中添加自定义视图

    我正在努力在 android 中制作自定义启动器 我参考了android的Jellybean启动器的代码 现在我想对这个启动器进行一些修改 我想要的是 据我们所知 默认有五个工作区屏幕 我想在任何一个工作区屏幕中添加自定义视图 我的 xml
  • 从数据库中提取行(包括相关行)

    我想为 Oracle 数据库中的一行生成插入字符串 包括其他表中的所有依赖行 及其依赖行 Example CREATE TABLE a a id number PRIMARY KEY name varchar2 100 CREATE TAB
  • PDO + MySQL 和损坏的 UTF-8 编码 [重复]

    这个问题在这里已经有答案了 我在 PHP 中将 PDO 库与 MySQL 数据库一起使用 但是如果我插入任何以 UTF 8 编码的数据 例如阿拉伯单词 它就会插入到数据库中 但作为 在我自己的框架中 创建 PDO 连接后 我发送两个查询 S
  • Solr:结合 EdgeNGramFilterFactory 和 NGramFilterFactory

    我有一种情况需要同时使用 EdgeNGramFilterFactory 和 NGramFilterFactory 我正在使用 NGramFilterFactory 执行 包含 样式搜索 最小字符数为 2 我还想搜索第一个字母 例如带有前面
  • 如何通过蓝牙查询远程手机是否支持PBAP?

    假设两部Android手机通过蓝牙配对并建立连接 如何在客户端以编程方式确定远程设备 服务器 是否支持蓝牙配置文件 例如 PBAP 如果它确实支持 那么如何以编程方式启动与远程设备的 PBAP 会话 我在网上进行了广泛的搜索 但到目前为止还
  • Apache Flink:设置并行度的指南?

    我正在尝试获取一些简单的规则或指南来设置哪些值 操作员或工作 并行性 在我看来 它应该是一个数字 例如 假设我有 2 台任务管理器机器 每台都有 4 个任务槽 假设集群上没有运行其他作业 我会设置并行度吗 用于操作 喜欢过滤并映射到 8 如
  • 如何将 Jest 模拟函数的范围限制为单个测试

    我正在使用 Jest 测试库 React 编写功能测试 经过几天的绞尽脑汁 我发现当你使用 mockResolvedValue or mockResolvedValueOnce 嘲笑的范围不仅限于该测试 import React from
  • C++ 多态性和指针向量问题

    考虑以下示例代码 class Foo class Bar public Foo class FooCollection protected vector
  • 如何阻止android editText中的特殊字符?没有 Android:数字

    如何阻止android editText中的特殊字符 通过不使用机器人 数字 有没有其他方法 甚至以编程方式 EditText 有一个 onTextChanged 监听器 你可以跟踪用户输入的字符 如果该字符非法 你只需将其删除 这不是最优
  • Celery 和 RabbitMQ - 队列优先级、消费者优先级、任务优先级

    在我的 python 应用程序中 我使用 Celery 作为任务生产者和消费者 使用 RabbitMQ 作为代理 现在 我正在实施优先级 起初 它看起来根本不起作用 因为根据文档 我刚刚添加了x max priority队列的参数 我更深入
  • MKPolygon 初始化错误“调用中参数‘interiorPolygons’缺少参数”/“调用中存在额外参数”

    我正在尝试转换 MapKit 中的 Objective C 代码MKPolygon参考文献清单6 9 https developer apple com library prerelease ios documentation UserEx
  • Gradle下载源码依赖

    在 gradle 中 我有以下 build gradle 这会导致许多 JAR 被复制到 sources 文件夹中 但只有 jersey media moxy 2 22 2 sources jar 实际上包含源代码 defaultTasks
  • MVVM ViewModel 单例

    如果您不需要每个屏幕的多个实例 那么将所有 viewModels 设置为单例是错误的做法吗 是的 因为单身人士是邪恶的 https learn microsoft com en us archive blogs scottdensmore