【发布时间】:2013-11-30 16:07:16
【问题描述】:
我最近正在研究一个代表表格的类:
public class Table
{
public StudentsOfTableList StudentsOfTable;
public Point PositionUpperLeftCorner;
public Size TableSize;
public readonly Guid TableID;
public Table()
...
public static bool AreIdentical(Table table1,Table table2)
...
public static bool Table1InFrontOfTable2(Table table1, Table table2)
...
}
正如你在这里看到的,这个类实际上是一个数据结构。稍后我有一些代码可以比较 TableID 以查看两个表是否相同,我真的想重构代码,以便 Table 类中有一个方法可以确定两个表是否相同。然而,正如 Clean Code 书中所说,具有公共字段和行为的类是混合体,而这些混合体是糟糕的代码。因此,我没有向检查表是否相同的类添加实例方法,而是添加了一个比较两个表的静态方法。这个静态方法会把类变成混合类吗?
【问题讨论】:
-
这个真的很紧急,我要暂停我的工作,等待答复!!如果你打算回答,非常感谢你
-
您应该在大部分时间使用公共属性。常量被认为可以作为公共字段。
-
谢谢。属性可以代替 getter 和 setter 方法吗?
-
是与否,简单的 set 和 get 方法可以被替换,长时间运行和复杂的 set 和 get 方法应该保持公共方法。还有更多,但基本上归根结底。
标签: c# data-structures coding-style code-cleanup hybrid