有人可以用一个例子向我解释一下吗?我自相矛盾
两者似乎都是自相矛盾的。可以用一个例子解释一下吗?可以在.NET框架中使用。
答案 0 :(得分:9)
High Fan In是低级别课程的理想规则。它们应该由更高级别的课程高度重复使用。高扇出是高等级的好规则。他们不应该“重新发明轮子”,而是使用现有的代码 - 在低级别的类中找到。
所以规则并不矛盾,因为它们与不同的阶级有关。
答案 1 :(得分:4)
你在哪里读过高扇出原理? AFAIK,High Fan Out很糟糕。
http://it.toolbox.com/blogs/enterprise-solutions/design-principles-fanin-vs-fanout-16088
当对象必须直接处理大量其他对象时,表示面向对象设计中的高扇出。这表明了高度的阶级相互依赖性。一般来说,物体的扇出越高,整体系统设计就越差。
在Code Complete中也提到过,低扇出的高扇出是优秀的设计。
答案 2 :(得分:1)
同意@Jeanno。高扇出是不可取的。
"模块的扇出是来自该模块的呼叫数。至少有三项研究得出结论,扇出平方是设计指标的一个组成部分,与缺陷概率很好地相关。" Grady,R.B。,"成功应用软件指标,"计算机,第27卷,第9期,第18-25页,1994年9月 doi:10.1109 / 2.312034
答案 3 :(得分:1)
真正有问题的情况是当你同时拥有高扇出和高扇出时: