【发布时间】:2010-06-29 18:33:33
【问题描述】:
我在想,如果一个类只在另一个类中实例化,那么在该类中使用它是正确的。我认为这将有助于我们进行良好的设计。当我查看我的项目时,我几乎从未见过这样嵌套结构。但是如果我尝试嵌套类,那么这次我脑海中会出现另一个问题。例如
我有 Board 类,Move 类,如 ShortCastle、LongCastle、EnPassant、Promote 和 Pieces,如 Pawn、Queen、Rook、Knight 等。所以很明显,Board 类将实例化 Piece 类,而 Piece 类将实例化 Move 类。为了一个好的设计,Promote move 类应该嵌套在 Pawn 中,因为只有 pawn 可以提升自己。short 和 long Castles 应该嵌套在 King 中,因为只有 king 才能有这种类型的动作。
试图将所有 Piece 类放到 Board 类中看起来不是很好的设计,因为 8-9 类将在 Board 类中,并且真的很烦人 Board 类文件太大且难以阅读。我更喜欢保留每一块另一个文件中的类。很好,我们可以创建部分 Board 类,但仍然不是很烦人 8-9 Partial Board 类文件将包含每个部分类?不让它们嵌套更好吗? Pieces 也一样 为另一个 Move 类型类创建另一个部分 Piece 文件?如果嵌套类只占用很小的空间,那么它不会有任何问题,但如果它需要很多方法?
【问题讨论】:
标签: c# .net nested-class