假设我正在制作一个新库,Jokes,
带有一个小API。在使我的API简单易用的利益,我把它放在基地命名空间:在哪里保持内部课程?
namespace Jokes
--> public interface IJoker
--> string Joke();
--> public static class Jokers
--> public static IJoker NewSlapstickJoker()
--> public static IJoker NewAbsurdJoker()
--> public static IJoker NewCheesyJoker()
还有鬼的实现是内部:
--> internal class SlapstickJoker : IJoker
--> internal class AbsurdJoker : IJoker
--> internal class CheesyJoker : IJoker
现在我敢肯定的请遵循下面的指导原则(有人可以验证吗?):
- 不要从根名称空间访问子名称空间中的类型。 (例如,
System
中的类型无法识别System.Drawing
中的类型)。
此准则适用于内部类吗?为了避免污染我的根名字空间,我想把我的内部类放在Jokes.Internal
。这意味着Jokes
名称空间(Jokers
)中的一个类型将知道子名称空间Jokes.Internal
中的类型。这个可以吗?
是Jokers的一个小丑工厂吗?如果是这样,也许更改名称 – 2010-09-09 00:00:20