我怎样才能重构这个不幸的偏僻阶级?

时间:2012-05-24 13:42:42

标签: design-patterns refactoring partial-classes

我已经开始使用Linq2Sql数据访问层,它有一个“God Class”部分类,另一部分是生成的EntitySet。这个partial类可以执行各种操作,例如将自身序列化为Json,进行数据库调用和各种实用程序函数,以及定义一系列便利属性和方法,以便与“部分”模型进行交互。

作为一个副作用,它不可能序列化,以及“神级”反模式的所有其他问题。

将这些类分开以更好地分离关注点的设计模式是什么?我想强调易于重构,因为这个课程在整个应用程序中都有所体现。

2 个答案:

答案 0 :(得分:2)

与遗留代码的大多数重构一样,我建议引入一个中间适配器类(请参阅adapter pattern),该类仅从代表旧功能开始。然后,随着新代码的引入,包装器可以开始将工作委托给新代码。直到最后,包装器才能完全移除。

答案 1 :(得分:0)

另外,我会说你应该编写测试(单元或集成),无论你在哪里发现/验证类的各个部分的功能,然后当你重构时你将确保你没有破坏任何因为你将有一套回归测试可以依赖它。