Соглашение по конфигурации идет против слабой связи?

Кажется, что многие программисты соблюдают это соглашение о конфигурации. В контексте IoC это означает использование API вместо конфигурации XML.

Как вы должны сохранять идею слабой связи за DI/IoC, когда вам нужно ссылаться на DLL, содержащую конкретные реализации абстрактных интерфейсов / классов, чтобы использовать соглашение о конфигурации?

2 ответа

Решение

Конфигурирование через API кода не является "соглашением". Это "конфигурация".

Соглашение о конфигурации означает, например, что конкретная прикладная среда (такая как Rails или CodeIgniter) может потребовать, чтобы определенные типы кода были размещены в определенных каталогах. Вы не обязаны сообщать платформе приложения, где находятся эти файлы, через конфигурацию.

Это означает, что вы должны сбалансировать их; не попадайтесь ни в ловушку ни / или мышления.

С другой стороны, если вам нужны файлы конфигурации, не думайте, что они должны быть XML. XML является относительно тяжелым представлением; JSON, YAML и т. Д. Широко доступны и более просты в использовании для большинства типов файлов конфигурации.

Другие вопросы по тегам