gpt4 book ai didi

algorithm - 在没有单一权威集合可供引用的情况下,跟踪一组对象大小的优雅方法是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:16:54 25 4
gpt4 key购买 nike

更新:请结合设计原则、优雅、意图表达,尤其是通过设计选择发送给其他程序员的“信号”来阅读这个问题。

我有一组对象的两个“ View ”。一个是通过字符串值索引对象的字典/ map 。另一个是通过序数(排序整数)索引对象的字典/ map 。没有对象的“主”集合本身可以作为对象数量的权威来源,但是两个字典应该始终都包含对所有对象的引用。

当一个新项目被添加到集合中时,一个引用被添加到两个字典中,然后需要进行一些处理,这会受到新的对象总数的影响。

我应该使用什么作为权威来源来引用对象集的当前大小?似乎我所有的选择在一个方面或另一个方面都有缺陷。我可以始终如一地引用其中一本词典,但这会编纂该词典优于另一本词典的含义。我可以添加第三个集合,一个简单的对象列表作为权威列表,但这会增加冗余。存储运行计数似乎最简单,但也会增加冗余,并且比动态引用集合的 self 跟踪计数更脆弱。

是否有另一种选择可以让我避免选择较小的邪恶,或者我是否必须接受优雅的妥协?

最佳答案

我会创建一个包含(至少)两个集合的类。

  • 集合的一个版本是按字符串排序
  • 一个版本 按顺序排序的集合
  • (可选)主集合

类将处理细节管理:

  • 集合内容的同步
  • 标准集合操作(​​例如,允许用户获取尺寸、添加或检索项目)
  • 让用户按字符串或序号获取

这样你就可以在任何需要行为的地方使用同一个集合,但仍然抽象出你想要的“索引”行为。

单独的类为您提供了一个单一的界面,用于解释您关于如何使用该类的意图。

关于algorithm - 在没有单一权威集合可供引用的情况下,跟踪一组对象大小的优雅方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/309852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com