Хм.
Лучше всего иметь проект библиотеки классов для вашего хранилища данных .
Дайте ему известный интерфейс и используйте фабричный шаблон , чтобы решить во время выполнения, генерировать ли он экземпляр SQL или экземпляр XML.
Лучше всего иметь хранилище на основе одноэлементного шаблона .
Таким образом, у вас будет что-то вроде Repository
base, наследующего IRepository
, с XMLRespository
и SQLRepository
, наследующего от Repository
.
Тогда ваша бизнес-логика просто ссылается на IRepsository
или Repository
и не заботится о том, что там на самом деле (XMLRepository
или SQLRepository
).
Это похоже на шаблон репозитория .
Если вы хотите использовать одну и ту же бизнес-логику с разными интерфейсами и придерживаться ASP.NET Webforms and Winforms, то я бы сделал то же самое с бизнес-логикой , т.е. поместил бы ее в библиотека классов и вызов из кода ASP или Winform при необходимости.