Если вы собираетесь начать новый проект с некоторыми сторонними библиотеками (ведение журнала, orm, di и т. Д.), Вы бы предпочли настроить все эти библиотеки с помощью программирования с использованием свободно распространяемых интерфейсов или с файлами XML?
Вы бы использовали библиотеку, которая поддерживает только один из этих параметров (Fluent или XML)?Или вы предпочитаете библиотеки, которые дают вам возможность выбирать между различными стратегиями конфигурации.
Для тех, кто любит код, возьмите это в качестве гипотетического примера (написанного на C #).
ЭтоКонфигурация Fluent:
LogConfiguration.ConfigureStorage()
.ForDatabase("CommonDB")
.AsMsSqlDatabase()
.WithConnectionString("server=(local); database=Northwind; Integrated Security=true;")
.AsDefault();
Конфигурация XML:
<logging>
<database name="CommonDB" provider="MSSQL" connString="server=(local); database=Northwind; Integrated Security=true;" default="true" />
</logging>
Наконец, каковы плюсы и минусы конфигурации Fluent и XML?
До сих пор мы пришли к следующему:
Свободная конфигурация в коде
Плюсы
- Сильно типизировано, оценивается компилятором
- Условная конфигурация
Минусы
- Не удалось перенастроить после сборки
Конфигурация XML
Плюсы
- Возможность простого изменения после развертывания
Минусы
- XML является многословным
- Более уязвим для ошибок при вводе