Muito bacana a sua publicação! Só um ponto, conhecia essa possibilidade de usar configurações como parametrização, indicando propriedades que são imutáveis a nível de runtime, mas mutáveis e controláveis externamente às aplicações. Vi esta prática aqui, sendo a referência ao ambiente que está sendo utilizado no momento um parâmetro:
{
"context": {
"environment": "STAGING"
}
}
Além de ter esta parametrização percebi outro padrão aqui que é conhecido como ToggleFeature:
// Consideremos que UseNewV3Api é, por padrão, falso.
if (await this.settings.GetValueFor<bool>("UseNewV3Api"))
{
result = await this.poster.PostUsingV3Api(markdownContent);
}
else
{
result = await this.poster.PostUsingV2Api(markdownContent);
}
Existem diversas formas de implementar e manipular a ToggleFeature, essa é uma das formas mais simples.
Era só este complemento, muito obrigado pela publicação mais uma vez!