Data Entities у нас как правило представляют собой сущности, отражающие структуру хранилища. Да, абстракция от конкретной субд ложится скорее на интерфейс дата провайдеров.
Я так подозреваю, что имеется ввиду конвертация ентитей, полученных из DAL в сущности, которые выставляет наружу BL.
Вряд ли DAL должен иметь знания о доменной области, в котором его сущности используются.
Выше в каментах я уже писал о том, что это два разных подхода. Тут вопросов нет.
По личному опыту — случаев, когда необходимо использовать System.Addin — мало. Геморроя связанного со спецификой AppDomain — много, но иногда он оправдан.
Посему… начав писать демо для второй статьи, и посчитав впоследствии это всё неинтересным, я забил на неё…
в блоге команды CLR Addins Джесс Каплан, если мне память не изменяет, писал статейку, в которой делался вывод о том, что оверхед не такой уж и страшный при использовании System.Addin. In-domain, Cross-domain и Cross-process сценарии сравнивались.
Не смотря на то, что MEF и System.Addin вроде бы как служат для одной цели — они разные. Просто разные. У каждого из них есть свои фишки, которых нет у другого…
Копание исходников рефлектором — крайность, к которой лично я прибегаю только в том случае, если уже пересмотрена вся документация, а проблема всё ещё не решена… либо когда адекватной доки просто нет.
Я более, чем уверен, что и вы не смотрите реализацию каждого класса рефлектором.
В MSDN есть косяки… но на фоне общего количества информации — эти косяки занимают ничтожно мало места :)
Если вопрос стоит так, что стоит использовать System.Addin или писать тоже самое, но руками, то тут выбор явно следует сделать в пользу первого. Хотя бы из соображений экономии времени :)
Это либо интерфейсы, либо какой-либо наследуемый(возможно абстрактный) класс.
Так, например, Хост видит Addin только через Хост-представление… хотя фактически работает с объектом адаптером, который перенаправляет запросы к контракту, который в свою очереднь перенаправляет их дальше на сторону расширения.
Стоп :) Я только сейчас понял, что Вы говорите о SharpDevelop :)
Статья совсем не о #develop :) Она о новом полезном инструменте для разработчиков, который включён в библиотеку .NET 3.5 ;)
Почему же не предполагает?) Хост-приложение может быть обычным Stand-alone приложением :) Может так же по-старому цеплять плагины через Reflection или вообще работать без всяких расширений :)