Единство против EntLib? - PullRequest
       9

Единство против EntLib?

1 голос
/ 16 декабря 2010

Я уже давно использую EntLib и недавно нашел Unity. На первый взгляд кажется, что он справляется почти со всем, что делает EntLib, но, казалось бы, легче.

Что рекомендуется для дня, архитектуры MVVM и плюсов / минусов одного над другим?

Спасибо.

Ответы [ 2 ]

6 голосов
/ 17 декабря 2010

Unity - это контейнер внедрения зависимостей с поддержкой перехвата. EntLib - это библиотека из 9 блоков приложений, одним из которых является Unity. EntLib имеет гораздо более широкую сферу применения и решает другие сквозные проблемы - например, ведение журнала, проверка, управление исключениями, доступ к данным, кэширование и т. Д.

Еще в 2008 году, когда мы разрабатывали Unity во время нашей работы над EntLib4.0, мы быстро поняли, что многие разработчики могут извлечь выгоду из нее. Вот почему мы поставили его отдельно.

EntLib5.0 полностью управляется DI и по умолчанию использует контейнер Unity. Вы можете поменять его на другой контейнер, если хотите. То же самое касается Prism, который не зависит от контейнера. Если EntLib был разработан для использования на любом уровне вашего приложения, Prism был разработан специально для создания составных интерфейсов (в WPF и Silverlight). EntLib и Prism дополняют друг друга, не перекрывая друг друга.

3 голосов
/ 16 декабря 2010

Unity - это контейнер внедрения зависимостей и собственный блок приложения;тогда как EntLib - это группа блоков приложений, частью которых теоретически может быть Unity.

У вас также есть Prism, который оборачивает Unity / EntLib и различные блоки для создания буфета различных блоков, предназначенных для разработки MVVM как в Silverlight, так и в WPF.

Сначала я бы сказал, что стоит использовать Prism , так как вы уже знакомы с EntLib и можете использовать Unity в качестве контейнера DI.Prism также легко позволяет вам использовать то, что вам нужно, и игнорировать то, что вы не делаете из разных блоков.

...