FwInjectable

Injecao de dependencia em TLPP. Decorator @Inject obtem instancia gerenciada do framework. Padrao DI moderno.

Assinatura: @Inject(service) public ServiceClass field

Retorna: NIL (decorator)

TLPP suporta Dependency Injection via decorator @Inject. Em vez de instanciar manualmente, framework cria/reusa instancias.

Sintaxe

@Injectable()
class ClienteService
    method buscar(cId) class ClienteService
        SA1->(DBSetOrder(1))
        If SA1->(DBSeek(xFilial("SA1") + cId))
            Return AllTrim(SA1->A1_NOME)
        EndIf
    Return ""
    endmethod
endclass

class PedidoController
    @Inject() data oCliService as ClienteService

    method criarPedido(cCliente) class PedidoController
        cNome := ::oCliService:buscar(cCliente)
        ConOut("Cliente: " + cNome)
    endmethod
endclass

Pegadinhas

Veja também