Em todos os exemplos de uso de datasets avançandos, temos sempre a exibição de uma função/método
function createDataset(fields,constraints,sortFields){...}
Nos códigos javascript, temos sempre também o exemplo de
var dataset = DatasetFactory.getDataset(...){...};
mas nunca uma instrução do tipo
var datasetCriado = DatasetFactory.createDataset(...){...};
Isto é, se não for mesmo possível utilizar esta construção, porque a função tem os argumentos fields,constraints,sortFields - como se usa normalmente quando se chama uma função passando-lhe valores os quais serão usados dentro dela?
Boa tarde Mausim,
O método getDataset() pertence à classe DatasetFactory.
O "CreateDataset" é apenas a nomenclatura padrão utilizada para criação de um novo dataset dentro do fluig.
Com isso o "compilador" do fluig consegue identificar que aqui é um dataset e quando utilizada a classe DatasetFactory ele fica disponível.
Os parâmetros que são passados para o CreateDataset são utilizados de forma diferente.
Recomendo que você veja esse link:
Mausim, existe um conjunto de soluções na literatura da computação chamado "Padrões de Projetos", são soluções que são utilizadas para problemas comuns em determinadas áreas, alguns melhores para desenvolvimento de jogos, sistemas e para uso na vida real também. Digamos que é a melhor prática de todas na computação. O Fluig implementou essa solução a Factory (Fabrica de Objetos) para padronizar o seu uso conforme literatura. Segue uma documentação que pode te ajudar a entender melhor essa solução:
O método getDataset, os arrays de constraints, fields e sortFields é o que são passados no createDataset do seu dataset customizado. O que acontece é a proteção do método createDataset, fazendo com que somente a getDataset é que o chame.
Caro @Alef, então,magicamente, em segundo-plano, o createDataset entra em ação toda a vez que uso getDataset? É algo realmente ‘oculto’, porque é um método sendo chamado por outro método. Se é isto, é realmente mais um ‘mistério’ das entranhas do Fluig. E se é assim, que seja.Muito obrigado.