【发布时间】:2012-05-24 13:42:41
【问题描述】:
我已经开始使用 Linq2Sql 数据访问层,它有一个“God Class”部分类,另一个部分是生成的 EntitySet。这个分部类做了各种各样的事情,比如将自己序列化为 Json,进行数据库调用和各种实用功能,以及定义许多便利属性和方法来与它“分部”的模型进行交互。
由此带来的副作用是无法序列化,以及“God Class”反模式的所有其他问题。
拆分这些类以获得更好的关注点分离的良好设计模式是什么?我想强调易于重构,因为这个类遍布整个应用程序。
【问题讨论】:
-
马上要说的一点是,你应该遵守 SOLID 原则。确保你实现了 S - 单一职责 - 但是你分开确保序列化由一个类处理,数据库调用由另一个类处理。
-
+1 @SachinKainth,SOLID 原则可以在这里找到:en.wikipedia.org/wiki/SOLID
标签: design-patterns refactoring partial-classes