Вы можете абстрагироваться от их вещей, создав собственный интерфейс и реализацию класса, делегирующую NopCommerce.Затем пусть ваш код использует интерфейс вместо прямого доступа к классам NopCommerce.Вы можете изменить вывод NopCommerce внутри своего класса до того, как результат будет возвращен вашему приложению.
И в качестве дополнительного бонуса вы также можете смоделировать интерфейс для проведения некоторых тестов, которые не требуют полноценного репозитория.реализации.
Примерно так, в коде:
public interface IRepository
{
MyItem GetItem(int id);
}
public class MyNopCommerceWrapper : IRepository
{
public MyItem GetItem(int id)
{
// I have no idea what NopCommerce API looks like, so I made this up.
var myItem = NopCommerce.GetItem(id);
ModifyMyItem(myItem);
return myItem;
}
}