Хм, я могу рассказать вам метод, который мы использовали для довольно большого приложения, ориентированного на базу данных.У нас был один класс, который управлял уровнем данных, как вы предположили, с суффиксом DL.У нас была программа, которая автоматически генерировала этот исходный файл (что было довольно удобно), хотя это также означало, что если мы хотим расширить функциональность, вам необходимо получить класс, поскольку после регенерации исходного кода вы перезаписываете его.
У нас был другой конец файла с OBJ, который просто определял фактическую строку базы данных, обрабатываемую слоем данных.
И, наконец, что не менее важно, с правильно сформированным базовым классом был файл, заканчивающийся на BS (обозначающийбизнес-логика) как единственный файл, который не генерируется, автоматически определяя методы событий, такие как «Новый» и «Сохранить», чтобы при вызове базы выполнялось действие по умолчанию.Следовательно, любое отклонение от нормы может быть обработано в этом файле (включая полное переписывание функциональности по умолчанию, если необходимо).
Вы должны создать одну группу таких файлов для каждой таблицы и ее дочерних (или внуковых) таблиц, которые являются производными от этой основной таблицы.Вам также понадобится фабрика, которая содержит полные имена всех объектов, чтобы любой объект мог быть создан с помощью отражения.Поэтому для исправления программы вам просто нужно извлечь из базовой функциональности и обновить строку в базе данных, чтобы фабрика создала этот объект, а не по умолчанию.
Надеюсь, это поможет, хотя я будуоставьте это вики-ответ сообщества, так что, возможно, вы сможете получить больше отзывов об этом предложении.