Ola,

Vou tentar ser breve.
Suponha que seus metodos no modelo sejam 10. Cada função possui internamente
um ponteiro na tabella hash de metodos, que é copiado a cada nova instância;
este ponteiro possui 4 bytes. Ou seja, cada instância usa 40 bytes.

Suponha que você está listando 100 itens na página. Isso significa. Vc está
usando desnecessariamente 4000 bytes. Além disso, cada método teria ter seu
mapeamento intrínseco dentro da classe, o que previne checagens fora da
claase, pois depende de uma instância para lookups.

Pois bem, existem outros padrões que facilitam essas e outras coisas. O mais
conhecido é o Data Mapper, também do Fowler (Rafael, respondi sua dúvida).
Mas isso aumenta significativamente a complexidade, o qque me faz questionar
sua decisão de não usar uma ferramenta ORM. Principalmente no quesito
reinventar a roda.
Somente salientando, vc precisa lidar com associações, herança, locking,
gráfico de dependência entre objetos, driver de mapeamento, algoritmo de
hidrataçāo de entidades, etc.

Acho que é isso. Eu conheço o Flextrine que utiliza o Doctrine através de
AMF. Pode ser um bom exercício vc dar uma olhada nele.

Abs,
Em 15/04/2011 21:13, "RafaelViana" <rfl.vi...@gmail.com> escreveu:
> Esse padrão de se utilizar a lógica do banco no modelo se chama Active
> Record e foi idealizado pelo Martin Fowler (por favor, me corrija se
> estiver errado).
>
> O Rails utiliza esse padrão, no qual a lógica fica contido dentro do
> modelo. No entanto, no caso do Rails isso é automicamente gerado pelo
> framework. Isso é possível, já que o Ruby é uma linguagem
> interpretada.
>
> Falando nisso, O ActionScript não seria uma linguagem de script
> interpretada? (agora fiquei na dúvida, e não achei nenhuma fonte
> confiável que confirmasse...) Não seria possível fazer um "Rails" no
> AIR para acessar o SQLite? Ou então, no Flex encapsular os
> RemoteObjects, como feito no Swiz, por exemplo, e injetar
> automaticamente no modelo as operações usando esses RemoteObjects?
> Um porém é que seria necessário usar CoC (Convention Over
> Configuration) e ai teria que ter os mesmos nomes para os serviços no
> backend para manter um padrão.... Mas é uma ideia :D
>
> Alguém sabe se existe algo similar??
>
> On Apr 15, 8:33 pm, Tiago Lopes da Costa <tiag...@gmail.com> wrote:
>> Prezados,
>> tenho uma aplicação comunicando com um banco de dados SQLite e estou
modelando a camada de DAO da aplicação, criando as tabelas, as classes e
métodos como insert, update, findById e etc, diante disso pensei o seguinte:
>>
>>         "Porque não utilizar os modelos para conter as funcionalidades de
acesso a banco?"
>>
>> Pois de acordo com o MVC os modelos definem o que minha aplicação é o que
ela faz. E como sua funcionalidade é armazenar e recuperar as informações
destes modelos no banco de dado, pensei em disponibilizar dentro dos modelos
os métodos necessários para a realização destas ações.
>>
>> por favor digam-me o que acham, segue abaixo as estrutura que modelos de
utilizações que imaginei.
>>
>> --
>> Estrutura de pastas - DAO
>>         - dao
>>         - manager
>>         - model
>>         - view
>> utilização no manager
>>         - dao.insert(modelo)
>>         - dao.find(modelo)
>>
>> --
>> Estrutura de pastas - MVC
>>         - manager
>>         - model
>>         - view
>> utilização no manager
>>         - model.insert()
>>         - model.find()
>>
>> obs: Não utilizo e nem pretendo utilizar nenhum framework de ORM.
>>
>> Tiago Lopes : Desenvolvedor - Flash e Flex
>> Fone: 85 8896.4855www.tiagolopes.pro.br
>
> --
> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
> Para sair da lista, envie um email em branco para
flexdev-unsubscr...@googlegroups.com
> Mais opções estão disponíveis em http://groups.google.com/group/flexdev

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a