2012-06-24 5 views
1

Я использую Инъекции свойств в своем коде. Когда я использую классы, я закончил проверку ввода каждой функции, если мои свойства не являются нулевыми, и я закончил много проверок в каждой функции.Проверка правильности разрешения зависимостей IOC

Что такое рекомендация в этом случае? как сделать валидацию более приятным, или я должен сделать валидацию вообще? Возможно, существует некоторая нулевая собственность?

Благодаря

+0

Взгляните на [эти рекомендации] (http://stackoverflow.com/a/9897097/264697) – Steven

ответ

4

Если ваши зависимости обязательны, сделайте их обязательными.

Container.Register(Component.For<Foo>().Properties(PropertyFilter.RequireAll)); 

Таким образом, Windsor гарантирует, что все свойства будут удовлетворены, прежде чем он вернет вам объект.

1

Если зависимость не является обязательной и не имеет разумное локальное по умолчанию, то не использовать инъекции собственности и использовать Constructor Injection вместо.

Замок Виндзор будет бросать, если он не может разрешить зависимости. Если вы не хотите зависеть от этой функции Castle, вы должны проверить, не зависят ли зависимости, переданные конструктору, ноль.

Смежные вопросы