问题标签 [model]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
304 浏览

model - 建模消息队列

我有这个系统,它由许多不同的阶段组成。具体来说,我有很多不同的进程通过 tcp-ip 进行通信;消息通过面向数据包的协议进行交换(如果满足某些条件,可以将更多消息填充到单个有线协议数据单元中);我也控制了流队列——套接字是非阻塞的,如果我无法发送我的队列消息,甚至将它们合并到发送队列中;当然,运行时发生的事情取决于下面的 tcp ip 控制流,所以我也想对 tcp ip 队列进行建模。所以问题是 - 任何人都可以分享他们对如何为我的系统进行模拟的想法吗?我想为它制作一个模拟器 - 即:一个为我的模型中的每个队列提供队列数据结构的程序,对于每次滴答,我都会根据我对系统的理解使模型演变,即如果我的模型中 tcp 缓冲区的数据结构说它有足够的空间,我会减少输出队列中的消息编号并减少可用空间计数器tcp 缓冲区模型由消息的大小等等 - 然后我根据 tcp 链路的带宽以一定的速率使 tcp 缓冲区为空(当然我假设我正在抽取大量数据和tcp 链路的唯一参数是带宽)。构建这样的东西似乎需要付出很多努力,我不确定它是否是我需要的。也许我最好使用某种 excel 电子表格模型,但我不确定如何构建它。如果我的模型中的 tcp 缓冲区的数据结构表明它有足够的空间,我会减少输出队列中的消息编号,并将 tcp 缓冲区模型中的可用空间计数器减少消息的大小,等等 - 然后我做tcp 缓冲区以基于 tcp 链路带宽的速率清空(当然,我假设我正在抽取大量数据并且 tcp 链路的唯一参数是带宽)。构建这样的东西似乎需要付出很多努力,我不确定它是否是我需要的。也许我最好使用某种 excel 电子表格模型,但我不确定如何构建它。如果我的模型中的 tcp 缓冲区的数据结构表明它有足够的空间,我会减少输出队列中的消息编号,并将 tcp 缓冲区模型中的可用空间计数器减少消息的大小,等等 - 然后我做tcp 缓冲区以基于 tcp 链路带宽的速率清空(当然,我假设我正在抽取大量数据并且 tcp 链路的唯一参数是带宽)。构建这样的东西似乎需要付出很多努力,我不确定它是否是我需要的。也许我最好使用某种 excel 电子表格模型,但我不确定如何构建它。依此类推 - 然后我根据 tcp 链路的带宽以一定的速率使 tcp 缓冲区清空(当然,我假设我正在抽取大量数据并且 tcp 链路的唯一参数是带宽)。构建这样的东西似乎需要付出很多努力,我不确定它是否是我需要的。也许我最好使用某种 excel 电子表格模型,但我不确定如何构建它。依此类推 - 然后我根据 tcp 链路的带宽以一定的速率使 tcp 缓冲区清空(当然,我假设我正在抽取大量数据并且 tcp 链路的唯一参数是带宽)。构建这样的东西似乎需要付出很多努力,我不确定它是否是我需要的。也许我最好使用某种 excel 电子表格模型,但我不确定如何构建它。

0 投票
4 回答
9109 浏览

php - Zend 框架:使用模型和视图,最佳实践

我对面向对象编程比较陌生。我非常了解这些概念,但实际上,我很难找到有关如何在我的 Zend Framework 应用程序中最好地使用模型的信息。

具体来说,我有一个不使用数据库表的模型(不扩展任何东西)。它使用 getter 和 setter 来访问其受保护的成员。我发现自己在为如何在视图中最好地显示这个模型而苦苦挣扎。我不想在我的视图模板中使用逻辑,但我发现自己处于以下情况:

在我的控制器中:

在我的视图模板中:

我真的不喜欢在我的视图模板中调用函数,但我不知道更好的方法来做到这一点。我不希望我的模型成员公开,但我基本上希望达到相同的结果:

我不希望我的控制器完成所有必须了解模型的所有工作:

在 Zend 框架中使用模型的最佳实践是什么?任何人都可以推荐任何可以帮助我理解 Zend 框架中的模型/视图困境的教程吗?

0 投票
10 回答
56793 浏览

ruby-on-rails - 使用 ActiveRecord,有没有办法在 after_update 期间获取记录的旧值

使用一个简单的示例进行设置:我有 1 个表 ( ),其中包含第二个表 ( )中每个记录的列Totals的总和。amountThings

当 athing.amount得到更新时,我想简单地将旧值和新值之间的差异添加到total.sum.

现在我正在减去self.amountduringbefore_update并添加self.amountduring after_update。这使更新成功的方式过于信任。

约束: 我不想简单地重新计算所有交易的总和。

问题:很简单,我想在after_update回调期间访问原始值。你想出了什么方法来做到这一点?

更新:我同意 Luke Francl 的想法。在after_update回调期间,您仍然可以访问self.attr_was正是我想要的值。我还决定使用一个after_update实现,因为我想在模型中保留这种逻辑。这样,无论我决定将来如何更新交易,我都会知道我正在正确更新交易的总和。感谢大家的实施建议。

0 投票
3 回答
2322 浏览

c# - C# 模型视图控制器

所以我正在以模型-视图-控制器模式创建一个 C#/Winforms 应用程序。我的视图控制器需要实例化多组对象。对象组是模型的元素和视图的元素。因此,例如一个文本框和该文本框后面的模型。

我想知道最好的方法是否是将所有东西放在某种集合中并用钥匙将它们绑在一起?

0 投票
3 回答
1620 浏览

java - 使用 Swing + 模型时识别组合框取消选择?

我正在尝试在 Swing 中编写一个漂亮的 GUI,尽可能地使用正确的模型委托模式。我有一个 JComboBox,当它发生变化时,需要用新数据更新模型。要获取当前选定的项目,我正在使用:

它将数据更改为一个不错的对象返回。但是,我找不到找到旧值的方法,所以我不知道需要更改哪个对象。这里有什么想法吗?

0 投票
2 回答
1593 浏览

ruby - 在新的 Sinatra 扩展中集成模型和视图

所以我想使用新的可能性来为Sinatra创建扩展。

我的扩展需要集成模型和一些视图/模板,但我不知道如何或在哪里集成它们?

是否有人已经构建了比文档中的示例更复杂的东西?

0 投票
3 回答
157 浏览

database - 将消费者定义的聚合(例如 SQL 计数)与“纯”模型对象结合起来?

将自定义(通常是易失的)数据引入实体模型类的最佳实践是什么?这首先听起来像是一种不好的做法,但它似乎是一种很常见的情况。在我们最近的 Web 应用程序中,我们开发了一个合适的模型,并且在大多数情况下,我们可以很好地加载模型实体。但是在某些情况下,我们无法加载整个实体层次结构;例如,我们需要加载几个 SQL COUNT 的结果,或者可能在模型实体旁边(或嵌入在其中)加载一些附加信息。所以基本上,要求和条件是:

  1. 这是一个 Web 应用程序,其中 99.9999999999% 的操作都是读取操作。

  2. 他们不需要处理或执行任何复杂的业务逻辑。我们只需要将数据快速转换为 HTML。

  3. 在几个性能关键的情况下,我们需要加载不适合任何模型属性的 SQL 聚合结果。

  4. 如果需要,我们需要一种可扩展的方式来引入任何新的自定义数据。

你通常如何解决这个问题,而不需要在你的 ORM 上工作太多(例如来自 db 的原始数据)?我相信这已经讨论过很多次了,但我无法找到一个好的谷歌查询来找到任何有用的东西。

编辑:由于我后来意识到这个问题的形成不是很好,我决定重新制定它并开始一个新的

0 投票
6 回答
8088 浏览

testing - 推荐的基于模型的测试工具

有人对使用什么基于模型的测试工具有任何建议吗?Spec Explorer/SPEC# 在测试人员培训中值得重视吗?

我传统上所做的是创建一个 Visio 模型,在其中我调用每个状态的状态和相关变量、输出和预期结果。然后以一种完全断开的方式,我使用基于该模型的这些变量来驱动我的测试脚本。但是,它们没有连接。我想要一种创建模型的方法,以业务友好的方式关联变量,然后为脚本构建数据参数。

我不能成为第一个需要这个的人。有没有一种工具可以基本上做到这一点?没有自己开发。

0 投票
5 回答
1354 浏览

sql - 即席数据和存储库模式

从不适合任何模型实体或扩展某些模型实体的存储库返回临时(逐案自定义)数据的推荐方法是什么?

101 的例子是无处不在的 hello word 应用程序:一个博客系统。假设您要加载一个帖子列表,其中帖子条目包含一些 Post 实体中不存在的附加信息。假设它是评论的数量以及最后评论的日期和时间。如果使用普通的旧 SQL 并直接从数据库中读取数据,这将是非常微不足道的。如果我负担不起为每个帖子加载整个评论集合,并且我想在一次数据库命中中完成,我应该如何使用存储库模式以最佳方式完成它?这种情况有没有常用的模式?现在假设您有一个中等复杂的 Web 应用程序,其中每个页面需要稍微不同的自定义数据,并且无法加载完整的层次结构(性能、内存要求等)。

一些随机的想法:

  1. 向可以由自定义数据填充的每个模型添加一个属性列表。

  2. 逐个子类模型实体,并为每个子类创建自定义阅读器。

  3. 使用 LINQ、编写即席查询和读取匿名类。

注:我最近也问过一个类似的问题,不过好像太笼统了,没有引起太多关注。

例子:

根据以下答案中的建议,我添加了一个更具体的示例。这是我试图描述的情况:

如果我不做任何额外的事情并使用现成的 ORM,这将导致 n+1 个查询或可能一个查询加载所有帖子和评论。但最佳情况下,我希望能够只执行一个 SQL,该 SQL 将为每个帖子返回一行,包括帖子标题、正文等以及评论计数和最近的评论日期。这在 SQL 中是微不足道的。问题是我的存储库将无法读取此类数据并将其放入模型中。最大日期和计数在哪里?

我不是在问如何做到这一点。您总是可以以某种方式做到这一点:向存储库添加额外的方法,添加新类,特殊实体,使用 LINQ 等,但我想我的问题如下。为什么存储库模式和正确的模型驱动开发如此广泛接受,但它们似乎并没有解决这种看似非常普遍和基本的情况。

0 投票
5 回答
6981 浏览

ruby-on-rails - 带有外键和链接表的 Rails 模型

我正在尝试为 ruby​​ on rails 项目创建一个模型,该模型在不同单词之间建立关系。把它想象成一本字典,其中两个词之间的“链接”表明它们可以同义使用。我的数据库看起来像这样:

如何使用链接表在两个单词之间建立关系。我试图创建模型,但不确定如何让链接表发挥作用: