-1

我有一个有 4 个类的场景,例如,

class SuperGroup,
class Group,
class SubGroup,
class MicroGroup,

在这里,SuperGroup 将包含一个组列表,一个组将包含一个子组列表,依此类推......

现在,我想以一种方式设计我的类,Groups 只能由 SuperGroups 创建,同样 SuperGroups 只能创建 Groups,它们不能直接创建 SubGroups。相反,当他们想要一个子组时,他们必须创建一个组,然后通过该组的对象,他们可以创建子组。

同样的条件也适用于 < Group,SubGroups > , < SubGroups,MicroGroups > 。

我怎么能在 C# 中实现这一点。

4

4 回答 4

3

也许您想createChild()成为每个类的公共方法,而实际的子构造函数是受保护的还是私有的?

然后客户端代码将调用父实体来创建子实体,而不是能够直接构造它们。

于 2013-05-08T09:53:56.243 回答
1

将这些类放在它们自己的程序集中,并使要防止在外部创建的类的构造函数在内部创建。

于 2013-05-08T10:24:50.287 回答
0

在线查看继承和工厂模式。是的,保持构造函数私有。

于 2013-05-08T09:56:19.023 回答
-1

它很简单,从 SuperGroup 继承 Group,在 Super 组中创建一个方法,该方法将创建 createGroup()

然后从 Group 继承 SUbGroups,同样在 Group 中添加方法 createSubGroup()。等等。我希望你能更进一步

于 2013-05-08T09:55:02.650 回答