через частичное применение / composition root? Такое ощущение что так кода писать больше выходит.
Или прям обычный DI через конструктор? Или service locator?
Просто DI использую и частично применённых функции в DI кидаю
Это как? Типо создаешь объект и в него указатели на частично примененные функции кидаешь? А какой лайфтайм? Можешь пример показать?
module Command type Handler = Command -> CommandResult let handle (ds: NpgsqlDataSource) command = Ok "handled" [<AutoOpen; Extension>] module ServiceCollectionsExtensions = type IServiceCollection with [<Extension; CompiledName "AddCommandHandler">] member services.AddCommandHandler() = services.AddSingleton<Handler>(fun sp -> handle sp.GetRequiredService<NpgsqlDataSource>() )
``` type Handler = Command -> CommandResult ``` Это же в итоге класс
Обсуждают сегодня