Я начал работать с уровнем доступа к данным Linq2Sql, и у него есть частичный класс «God Class», другой частичный из которых является сгенерированным EntitySet. Этот частичный класс выполняет всевозможные действия, например, сериализует себя на Json, делает вызовы базы данных и различные служебные функции, а также определяет множество удобных свойств и методов для взаимодействия с моделью, с которой она «частично».Как я могу реорганизовать этот несчастный частичный класс?
Как побочный эффект этого, невозможно сериализовать и все другие проблемы с антипаттом «Бог-класс».
Какая хорошая схема проектирования для разделения этих классов для лучшего разделения проблем? Я хотел бы сделать акцент на простоте рефакторинга, поскольку этот класс посыпается во всем приложении.
Следует сразу сказать, что вы должны придерживаться принципов SOLID. Удостоверьтесь, что вы реализуете S-единственную ответственность - однако вы отдельно следите за тем, чтобы сериализация обрабатывалась одним классом, а вызовы db другим. –
+1 @SachinKainth, принципы SOLID можно найти здесь: http://en.wikipedia.org/wiki/SOLID – Brady
+1 @Brady для ссылки. –