循环依赖

2023-12-02

我有 2 个项目。

项目#2 引用了项目#1

现在我需要在 Project#1 中引用 Project#2,但 vs.net 抱怨循环依赖。

有办法解决这个问题吗?


绝对不。循环依赖是糟糕设计的表现。我并不是有意严厉。有一些方法可以解决这个问题。

1)您可以将公共代码重构到另一个项目,例如Project#0

2)你可以修复你的设计,这可能是正确的方法。

Uncle Bob 有一篇关于打包原则的好文章,其中包括非循环依赖原则。http://www.objectmentor.com/resources/articles/capsularity.pdf。阅读本文以了解为什么循环依赖是一件坏事。

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

循环依赖 的相关文章

  • boost::multi_index_container 复合键中的 equal_range 与比较运算符

    我正在尝试从多索引容器查询结果 其中值类型是三个元素的结构 第一个值已给出 但第二个和第三个值必须大于或小于查询参数 经过搜索后 我发现必须实现自定义密钥提取器 并且这里的一些链接建议相同 但我无法实现它 boost multi index
  • 在 LINQ 查询中返回不带时间的日期

    我正在编写一个查询 我想计算按日期联系我们的呼叫中心的次数 看起来很简单 但由于联系日期字段是日期时间字段 我得到了时间 因此当我按联系日期 时间 分组时 每个联系日期实例的计数为 1 所以 我想只按日期分组 而不按时间分组 下面是我用来查
  • 创建 DirectoryEntry 实例以供测试使用

    我正在尝试创建 DirectoryEntry 的实例 以便可以使用它来测试将传递 DirectoryEntry 的一些代码 然而 尽管进行了很多尝试 我还是找不到实例化 DE 并初始化它的 PropertyCollection 的方法 我有
  • 属性对象什么时候创建?

    由于属性实际上只是附加到程序集的元数据 这是否意味着属性对象仅根据请求创建 例如当您调用 GetCustomAttributes 时 或者它们是在创建对象时创建的 或者 前两个的组合 在由于 CLR 的属性扫描而创建对象时创建 从 CLR
  • C++:无法使用scoped_allocator_adaptor传播polymorphic_allocator

    我有一个vector
  • 如何在没有 Control.Invoke() 的情况下从后台线程修改控件属性

    最近 我们遇到了一些旧版 WinForms 应用程序 我们需要更新一些新功能 在专家测试该应用程序时 发现一些旧功能被破坏 无效的跨线程操作 现在 在您认为我是新手之前 我确实有一些 Windows 窗体应用程序的经验 我不是专家 但我认为
  • 为什么 POSIX 允许在只读模式下超出现有文件结尾 (fseek) 进行搜索

    为什么寻找文件结尾很有用 为什么 POSIX 让我们像示例中那样在以只读方式打开的文件中进行查找 c http en cppreference com w c io fseek http en cppreference com w c io
  • 是否可以在 Visual Studio 2008 和 Visual Source Safe 6.0 中使用 WinMerge?

    我想在解决方案资源管理器中使用 WinMerge 作为 VS2008 内的默认比较工具来代替 比较 上下文菜单项 这可能吗 我正在寻找一个快速替代当前乏味差异工具的工具 我只是更喜欢 WinMerge 我对进入文件夹资源管理器并在那里进行比
  • C# 中可空类型是什么?

    当我们必须使用nullable输入 C net 任何人都可以举例说明 可空类型 何时使用可空类型 https web archive org web http broadcast oreilly com 2010 11 understand
  • 按字典顺序对整数数组进行排序 C++

    我想按字典顺序对一个大整数数组 例如 100 万个元素 进行排序 Example input 100 21 22 99 1 927 sorted 1 100 21 22 927 99 我用最简单的方法做到了 将所有数字转换为字符串 非常昂贵
  • 使用向量的 merge_sort 在少于 9 个输入的情况下效果很好

    不知何故 我使用向量实现了合并排序 问题是 它可以在少于 9 个输入的情况下正常工作 但在有 9 个或更多输入的情况下 它会执行一些我不明白的操作 如下所示 Input 5 4 3 2 1 6 5 4 3 2 1 9 8 7 6 5 4 3
  • 如何在 Team Foundation 上强制发表有意义的签入评论?

    我有一个开发团队有一个坏习惯 他们写道poor签入评论 当我们必须在团队基础上查看文件的历史记录时 这使得它成为一场噩梦 我已经启用了变更集评论政策 这样他们甚至可以在签到时留下评论 否则他们不会 我们就团队的工作质量进行了一些讨论 他们很
  • .NET 选项将视频文件流式传输为网络摄像头图像

    我有兴趣开发一个应用程序 它允许我从 xml 构建视频列表 包含视频标题 持续时间等 并将该列表作为我的网络摄像头流播放 这意味着 如果我要访问 ustream tv 或在实时通讯软件上激活我的网络摄像头 我的视频播放列表将注册为我的活动网
  • C 中的位移位

    如果与有符号整数对应的位模式右移 则 1 vacant bit will be filled by the sign bit 2 vacant bit will be filled by 0 3 The outcome is impleme
  • 已过时 - OpenCV 的错误模式

    我正在使用 OpenCV 1 进行一些图像处理 并且对 cvSetErrMode 函数 它是 CxCore 的一部分 感到困惑 OpenCV 具有三种错误模式 叶 调用错误处理程序后 程序终止 Parent 程序没有终止 但错误处理程序被调
  • GDK3/GTK3窗口更新的精确定时

    我有一个使用 GTK 用 C 语言编写的应用程序 尽管该语言对于这个问题可能并不重要 这个应用程序有全屏gtk window与单个gtk drawing area 对于绘图区域 我已经通过注册了一个刻度回调gtk widget add ti
  • 在Linux中使用C/C++获取机器序列号和CPU ID

    在Linux系统中如何获取机器序列号和CPU ID 示例代码受到高度赞赏 Here http lxr linux no linux v2 6 39 arch x86 include asm processor h L173Linux 内核似
  • 如何在 C# 中播放在线资源中的 .mp3 文件?

    我的问题与此非常相似question https stackoverflow com questions 7556672 mp3 play from stream on c sharp 我有音乐网址 网址如http site com aud
  • 如何将字符串“07:35”(HH:MM) 转换为 TimeSpan

    我想知道是否有办法将 24 小时时间格式的字符串转换为 TimeSpan 现在我有一种 旧时尚风格 string stringTime 07 35 string values stringTime Split TimeSpan ts new
  • 将 viewbag 从操作控制器传递到部分视图

    我有一个带有部分视图的 mvc 视图 控制器中有一个 ActionResult 方法 它将返回 PartialView 因此 我需要将 ViewBag 数据从 ActionResult 方法传递到 Partial View 这是我的控制器

随机推荐

  • 在 Excel 2013 中使用宏设置打印区域

    在 Excel 2013 中 工作表名为 Tags 我在尝试着设置打印区域 from A2直到页尾 以列结束L Worksheets Tags PageSetup PrintArea Worksheets Tags Range Cells
  • 为什么我的模型预测相同的标签?

    我正在训练一个小型网络 训练似乎进展顺利 val 损失减少 验证准确度达到 80 左右 一旦没有更多改进 它实际上会停止训练 耐心 10 它训练了 40 个 epoch 然而 它只为每个测试图像预测一个类别 我尝试随机初始化转换层 我添加了
  • C# 正则表达式用于匹配嵌套括号内的特定文本

    我有这些代码行用于括号之间的运算符 string filtered Regex Replace input string Empty var result filtered Split new StringSplitOptions Remo
  • 逗号分隔值到单引号和逗号分隔值

    我的数据为 abc defg hijklm op qrs tuv 我希望将这些数据转换为 abc defg hijklm op qrs tuv 我想在linux下做 我使用 sed 我一直在互联网上查找 但没有找到解决方案 请帮我 在开头添
  • 核心数据不保存我的数据

    我使用核心数据来保存一些整数 速率 然后在上下文中调用 save HeartRateBeat beat HeartRateBeat heartRateWithHeartRate rate ofRecordTitle self recordT
  • 使用 Django 实现单点登录 (SSO) [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我想使用 Django 为我们当前使用的多个应用程序实现单点登录 SSO 我如何使用 Django 来实现这个 我们正在使用 OpenAM http
  • 将 QWidget 渲染为 QImage 丢失 alpha 通道

    我有一个简单的 Qt 小部件 它是QLabel应用了简单的 CSS 样式 样式的重要部分是圆形边框 QString css border style solid border width 3px border radius 7px 它在屏幕
  • 反应js;映射数组后没有任何渲染

    我有一个输入 在用户插入文本后我想在按钮中显示每个单词button group 我拆分了句子并映射了返回的内容
  • 我应该使用哪种 java swing 布局

    我需要创建这个框架 我应该使用哪种布局 我正在考虑框或网格布局 但右侧的菜单将是一个问题 您的代码中有很多重复 我会分解每个部分 使其成为一个单独的组件 并专注于其单独的布局需求 主屏幕有 4 个主要区域 不包括菜单 我会用类似的东西Gri
  • 如何防止Mysql Connector/J转换DATE和TIME时区?

    我正在使用以下 DSN 连接到 mysql 服务器 jdbc mysql localhost my database useUnicode true characterEncoding utf 8 serverTimezone UTC 我遇
  • 反射类型没有方法

    我正在尝试在 Go 中使用反射 为什么这段代码没有列出方法 它列出了字段 这是问题所在吗 value interface 我不确定如何将通用结构 类 类型传递给函数 通常我只会传递一个对象 我对此完全陌生 我是一名 C 程序员 packag
  • 如何用 Objective-C 编写计时器?

    我正在尝试用 NSTimer 制作秒表 我给出了以下代码 nst Timer NSTimer scheduledTimerWithTimeInterval 0 001 target self selector selector showTi
  • 当我在tensorflow.keras中使用BinaryCrossentropy(from_logits=True)时,我应该使用什么作为目标向量

    我有一个多标签分类 其中每个目标都是由 1 和 0 组成的向量not相互排斥 为了清楚起见 我的目标是 0 1 0 0 1 1 到目前为止我的理解是 我应该使用二元交叉熵函数 正如本节中所解释的answer 另外 我明白了tf keras
  • 如何使用 Windows 计划任务运行 PHP 脚本?

    我已经在我的机器中安装了 localhost server 我需要使用 Windows 计划任务运行 php 脚本 如何在计划任务的 操作 选项卡中添加路径 配置脚本以在特定时间段运行 在系统上找到 php exe 可执行文件 并使用以下命
  • 在文本浏览器中实时显示 QProcess 输出

    我是 qt 开发的新手 我想将 QProcess 的输出实时传输到文本浏览器 我首先执行一个简单的 echo 命令 但程序的输出没有显示 我究竟做错了什么 QProcess p p start echo hye QByteArray byt
  • CSS中何时留出空间,何时不留出空间?

    这是可以的 没有空格 li highlight background FF9900 none repeat scroll 0 0 这不起作用 有空格 li highlight background FF9900 none repeat sc
  • 如何根据用户的选择动态生成SQL查询?

    这与以下问题是同一个问题 如何根据用户的选择动态生成SQL查询 唯一的区别是 我有兴趣看到也使用 Java JPA 可能是 EclipseLink 或 Hibernate 特定扩展 的解决方案 我需要创建一个 GUI 用户可以使用它选择多个
  • 获取错误的 FileChannel 大小

    我正在尝试获取其中包含的文件的大小assets 我正在使用一个FileChannel因为我需要一个FileChannel之后 文件myfile txt包含 7 个字节 这是我的代码 AssetManager amgr AssetFileDe
  • @Autowired 注释无法在 JUnit 类中注入 bean

    我的测试班 public class myTest extends TestCase Autowired BeanClass beanObject public void beanTest Classdata data beanObject
  • 循环依赖

    我有 2 个项目 项目 2 引用了项目 1 现在我需要在 Project 1 中引用 Project 2 但 vs net 抱怨循环依赖 有办法解决这个问题吗 绝对不 循环依赖是糟糕设计的表现 我并不是有意严厉 有一些方法可以解决这个问题