Я использую пример Registry DSL для настройки карты структуры. Но это делает все мои зарегистрированные типы доступными на всех уровнях моего приложения, где я добавляю ссылку на карту структуры. Я не хочу, чтобы мой бизнес-уровень знал что-либо о моем уровне доступа к данным и наоборот. Как мне заставить карту структуры регистрировать только определенные типы для каждого из моих слоев?
Вот код в моем файле global.asax:
ObjectFactory.Initialize(x =>
{
x.AddRegistry<RegistryIOC>();
});
А вот мой класс RegistryIOC:
public class RegistryIOC : SMRegistry
{
public RegistryIOC()
{
For<IProfileService>.Use<ProfileService>();
For<IProctorService>().Use<ProctorService>();
//Business Logic Objects
For<IQual>().Use<Qual>();
For<ITest>().Use<Test>();
For<IBoldface>().Use<Boldface>();
For<ITrainingPlan>().Use<TrainingPlan>();
For<IUnit>().Use<Unit>();
//Data Transfer Objects
For<IGenericDTO>().Use<GenericDTO>();
For<IProfileDTO>().Use<ProfileDTO>();
For<IQualDTO>().Use<QualDTO>();
For<IPermissionDTO>().Use<PermissionDTO>();
//Repository Objects
For<IProctorRepository>().Use<ProctorRepository>();
For<IQualsRepository>().Use<QualsRepository>();
For<ITestRepository>().Use<TestRepository>();
For<IUnitRepository>().Use<UnitRepository>();
For<IUserRepository>().Use<UserRepository>();
}
}
Спасибо за помощь.