ExpertiDict

C# · Intermediário · Inglês · Técnico

options pattern

/ˈɑpʃənz ˈpætɚn/substantivo

Padrão do .NET para ligar uma seção de configuração a uma classe fortemente tipada e injetá-la como IOptions<T>, IOptionsSnapshot<T> ou IOptionsMonitor<T>.

Onde usar

Aparece quando serviços precisam de configurações, como URL e timeout de um cliente externo, sem ler IConfiguration por toda parte. O IOptionsMonitor reage a mudanças do arquivo, e ValidateOnStart falha cedo se algo estiver errado.

Em código

builder.Services.Configure<ApiOpts>(
  builder.Configuration.GetSection("Api"));

class ApiOpts
{
  public string Url { get; set; } = "";
}
// injete IOptions<ApiOpts> onde usar

Exemplos

Bind the section using the options pattern.

Ligue a seção usando o options pattern.

Inject IOptions instead of reading the configuration directly.

Injete IOptions em vez de ler a configuração direto.

Cuidado

Não injete IConfiguration em cada classe para ler chaves em string: perde tipagem e validação.

Sinônimos

IOptions

Veja também

Todos os termos de C#