艾伟:关于.NET中的循环引用

  在现在开发模式日益增多,框架泛滥的时代里,人们越来越多的依赖于固有的框架模式的开发而忽略了对项目底层架构的理解。所以在部署项目结构的时候,会遇到“循环引用”这个问题,今天我就遇到了。

  其实说起来并不复杂,就是我有5个项目A,B,C,D,E,然后我在项目A中引用了B的类,然后又在B中引用了C的类,最后又在C中引用了A中的类,这就构成了循环引用。

  

  那么碰到这样的问题,怎么解决呢?

  解决方案一:

    我们考虑创建新的一个项目Z,然后分别添加对A,B,C的引用,这样A,B,C只要引用Z就行了。

  解决方案二:

    也可以创建一个类库项目,然后将A,B,C,D,E,F……中需要引用的类都放到这个类库项目中去,然后在引用的时候都引用这个类库项目就ok了。

  其实以上两种解决方案有异曲同工之处,就是通过创建“第三方”项目来做一个桥梁,整合需要共用的类,然后一起引用它。

  总之还是要在实际的项目中去体会,去感受!

时间: 2024-10-23 15:17:42

艾伟:关于.NET中的循环引用的相关文章

JavaScript中的内存泄露模式:在JavaScript应用程序中处理循环引用

如果您知道内存泄漏的起因,那么在 JavaScript 中进行相应的防范就应该相当容易.在这篇文章中,作者 Kiran Sundar 和 Abhijeet Bhattacharya 将带您亲历 JavaScript 中的循环引用的全部基本知识,向您介绍为何它们会在某些浏览器中产生问题,尤其是在结合了闭包的情况下.在了解了您应该引起注意的常见内存泄漏模式之后,您还将学到应对这些泄漏的诸多方法. JavaScript 是用来向 Web 页面添加动态内容的一种功能强大的脚本语言.它尤其特别有助于一些日

艾伟_转载:关于.NET中的循环引用

在现在开发模式日益增多,框架泛滥的时代里,人们越来越多的依赖于固有的框架模式的开发而忽略了对项目底层架构的理解.所以在部署项目结构的时候,会遇到"循环引用"这个问题,今天我就遇到了. 其实说起来并不复杂,就是我有5个项目A,B,C,D,E,然后我在项目A中引用了B的类,然后又在B中引用了C的类,最后又在C中引用了A中的类,这就构成了循环引用. 那么碰到这样的问题,怎么解决呢? 解决方案一: 我们考虑创建新的一个项目Z,然后分别添加对A,B,C的引用,这样A,B,C只要引用Z就行了. 解

关于.NET中的循环引用

在现在开发模式日益增多,框架泛滥的时代里,人们越来越多的依赖于固有的框架模式的开发而忽略了对项目底层架构的理解.所以在部署项目结构的时候,会遇到"循环引用"这个问题,今天我就遇到了. 其实说起来并不复杂,就是我有5个项目A,B,C,D,E,然后我在项目A中引用了B的类,然后又在B中引用了C的类,最后又在C中引用了A中的类,这就构成了循环引用. 那么碰到这样的问题,怎么解决呢? 解决方案一: 我们考虑创建新的一个项目Z,然后分别添加对A,B,C的引用,这样A,B,C只要引用Z就行了. 解

Python和Ruby中each循环引用变量问题(一个隐秘BUG?)_python

虽然这个问题我是在 Python 里遇到的,但是用 Ruby 解释起来比较容易一些.在 Ruby 里,遍历一个数组可以有很多种方法,最常用的两种无非是 for 和 each: 复制代码 代码如下: arr = ['a', 'b', 'c'] arr.each { |e|  puts e} for e in arr  puts eend 通常我比较喜欢后者,似乎因为写起来比较好看,不过从效率上来说前者应该会稍微快一点,因为后者实际上是在遍历的过程中对每个元素都调用一个 lambda 函数来做的,虽

Excel中循环引用的用法

  Excel中循环引用的用法          提到循环引用,恐怕很多同学都不会陌生,而且会敬而远之.在Excel中输入公式时,经常会遇到下面的提示框,这就是因为公式中有循环引用的问题导致的. 通常情况下,如果公式中包含对其他单元格或者运算结果的引用,无论是直接还是间接,都不能包含对自身取值的引用.

block使用小结、在arc中使用block、如何防止循环引用(zz)

标签:  __block   __weak   arc   self   cfgetretaincount 分类: iOS zz from http://www.cnbluebox.com/?p=255 引言 使用block已经有一段时间了,感觉自己了解的还行,但是几天前看到CocoaChina上一个关于block的小测试主题: [小测试]你真的知道blocks在Objective-C中是怎么工作的吗?,发现竟然做错了几道, 才知道自己想当然的理解是错误的,所以抽时间学习了下,并且通过一些测试代

onetomany-Hibernate中@ManyToOne与@OneToMany注解查询结果用gson序列化出现循环引用问题

问题描述 Hibernate中@ManyToOne与@OneToMany注解查询结果用gson序列化出现循环引用问题 首先,我确定我遇到的问题在baidu没有找到解决方案. 现有2个表Customer,Account两个表,他们之间是一对多的关系 , 一个客户有多个账户.定义2个实体类如下: public class Customer implements Serializable{ private String custId; ....... private Set<Account> acc

Linq查询中类型的转化以及序列化XXX对象时检测到循环引用

  我有一个Studen类型,有5个字段,num,name,birth,idcard,classId,我们一般写Linq查询的时候就是这样写 List<Student> stus =  from Student s in dc.Student select s;   那么其实我只想用其中的两个字段num,name,我就需要写一个dto StudentDto: num,name List<Student> stus =  from Student s in dc.Student   

Hibernate中@ManyToOne与@OneToMany注解查询结果用gson序列化出现循环引用问题

问题描述 首先,我确定我遇到的问题在baidu没有找到解决方案.现有2个表Customer,Account两个表,他们之间是一对多的关系,一个客户有多个账户.定义2个实体类如下:publicclassCustomerimplementsSerializable{privateStringcustId;.......privateSet<Account>accounts=newHashSet<Account>(0);@OneToMany(cascade==CascadeType.AL