2013-05-11 3 views
0

Есть ли запах, связанный с тем, что библиотека File.IO свободно связана с библиотекой протоколирования? Или они должны быть разделены и объединены только в приложениях?Должна ли библиотека инфраструктуры свободно связываться с другим уровнем инфраструктуры?

ответ

1

Свободная связь выгодна при любых обстоятельствах, но вы также должны знать о дополнительной сложности, которую она может ввести. Если вы применяете принцип инверсии зависимостей (прочитайте книгу Роберта К. Мартина по адресу Agile Principles для отличного обсуждения), вы можете рассмотреть библиотеку File.IO для определения абстракции (например, интерфейса), необходимой для ведения журнала. Затем вы можете реализовать реализацию этой абстракции, используя вашу предпочитаемую библиотеку протоколирования. Чтобы быть ясным, это не то же самое, что использовать абстракцию, предлагаемую библиотекой протоколирования в библиотеке File.IO. Тогда вы все равно будете их блокировать.

1

Свободная связь - бессмысленный термин без высокой степени сцепления. В вашем домене вы входите в условия домена. Взгляните на блог Isaiah Perumalla, особенно тест-ориентированный-дизайн-использование-mocks

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