Идея соединить все классы бизнес-логики в моем приложении WinForms через IOC? Или, если нет, есть ли рекомендации относительно того, на каких классах использовать МОК? - PullRequest
0 голосов
/ 26 марта 2010

Начало работы с NInject ...:)

Для приложения WinForms и, в частности, для классов бизнес-логики, используемых в нем, существует ли практическое правило, согласно которому классы когда-то должны подключаться с помощью IOC? Например, если у вас есть модель предметной области, которая моделируется классами C #, является ли концепция, что все классы должны быть соединены вместе с использованием IOC?

1 Ответ

2 голосов
/ 26 марта 2010

IOC / DI позволяет вам проектировать слабосвязанные системы и управлять вашими зависимостями разумно и гибко. Это означает, что вы можете использовать эти концепции в любом месте, включая уровень представления, например PRISM. При этом вам не нужно применять их к каждому классу. Например, некоторые классы предоставляют базовую функциональность типа строительного блока, такую ​​как строковый класс в .NET, чтобы можно было брать зависимость от конкретной реализации. В противном случае вы закончите с чрезмерно сложным кодом, который может пойти против простого принципа. Спросите себя, хотите ли вы проверить свои классы и насколько сложно написать модульный тест. Если код и зависимости мешают легко и быстро создавать модульные тесты, вы можете инвертировать эти зависимости, чтобы отвечать за их управление.

...