最近,我读到了分治法。 http://codebetter.com/blogs/patricksmacchia/archive/2008/12/08/advices-on-partition-code- through-net-assemblies.aspx”rel=“nofollow noreferer”>,:“将你/NET的集会数目减少到最低限度”。
我会同意更多! 我个人经常看到的原因之一是,人们只是想孤立一些法典,这样他们就能够把这些类型/方法内部化,并把它们单独纳入一个项目。
还有其他许多理由(无效或不)将守则分为几个议会,但 如果你想要孤立部分/单元,同时仍然将其设在一个图书馆,那么你如何做到这一点?
namespace MyAssembly.SomeApiInternals
{
//Methods from this class should not
//be used outside MyAssembly.SomeApiInternals
internal class Foo
{
internal void Boo() { }
}
}
namespace MyAssembly.AnotherPart
{
public class Program
{
public void Test()
{
var foo = MyAssembly.SomeApiInternals.Foo();
foo.Boo(); //Ok, not a compiler error but some red flag at least
}
}
}
如何限制某种类型/方法在same组装上其他类型/方法,但在这个名称空间之外?
(我只回答几个问题,看看人们如何投票)。)
感谢!