gRoOvE 0 Denunciar post Postado Junho 5, 2011 Olá galera, estou estudando C# na faculdade, baseado em MVC, preciso persistir dados mas não faço idéia de como fazer..devo fazer no control ou model? Gostaria de fazer algo na mão mesmo sem usar framework, pra aprender. Peço algumas dicas ai, qual caminho seguir. Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Tomasi 0 Denunciar post Postado Junho 5, 2011 Bom, independe da linguagem utilizada. Acredito que o correto seja criar uma classe no modelo só para fazer a persistência e as outas classes do modelo que devem se comunicar com ela, sempre utilizando objetos. Por exemplo, você quer salvar um usuário no banco de dados, então instância um objeto do tipo usuário e passa ele pra classe responsável pela persistência. A mesma coisa se quiser pegar o usuário do banco, a classe de persistência deve retornar um objeto do tipo usuário para o modelo. Compartilhar este post Link para o post Compartilhar em outros sites
gRoOvE 0 Denunciar post Postado Junho 5, 2011 Ok. Entendi, sempre devo encapsular a persistência em uma classe. Tem algum padrão pro nome dessa classe de persistência? Outra dúvida, se eu desejar gravar um objeto "usuário", devo instância-lo dentro do control? Aí o control chama a classe de persistência pra gravar os dados? Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Tomasi 0 Denunciar post Postado Junho 5, 2011 Eu desconheço se tem algum nome padrao, eu utilizo persistencia mesmo... Acho que o objeto usuário não deve ser instanciado no controle. Mas sim em alguma classe do modelo, como a que faz o papel de fachada do domínio, bem como ela deve chamar a persistência. Compartilhar este post Link para o post Compartilhar em outros sites
gRoOvE 0 Denunciar post Postado Junho 5, 2011 Poderia ser mais claro, não entendi. Qual classe do modelo deveria instaciar? Fachada de dominio? Teria a interface q se comunica com controlador, controlador se comunica com o modelo Pessoa, devo então criar outra classe pra instanciar Pessoa? Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Tomasi 0 Denunciar post Postado Junho 6, 2011 Tem o padrão de projeto Fachada, aonde tu cria um objeto pra ser uma "fachada" de um subsistema, como se essa fachada encapsulasse todos os objetos desse subsistema, que corresponde a mesma interface, sendo a fachada o ponto de acesso a esse subsistema. Por exemplo, tens que modelar uma cidade. Então tu cria as classes, Prédio, Casa e Rua. Mas ao invés de o controle se conectar diretamente com essas classe (Prédio, Casa, Rua), tu cria uma fachada com o nome Cidade. Assim o controle se conecta com a Cidade, que por sua vez, se conecta com Prédio, Casa e Rua, ou seja, o Controle não tem ligação direta com Prédio, Casa e Rua. Nesse exemplo, a classe Cidade, ficaria responsável por chamar a classe responsável pela persistência. Bom, eu também to vendo isso agora na faculdade e estou fazendo os meus trabalhos desta forma. Qualquer coisa estamos aí. abraço Compartilhar este post Link para o post Compartilhar em outros sites
gRoOvE 0 Denunciar post Postado Junho 6, 2011 Mas nesse caso você vai ter mais objetos compondo um só objeto..se eu for fazer desta forma vou estar replicando a mesma coisa em duas classes.. Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Tomasi 0 Denunciar post Postado Junho 6, 2011 Não entendi muito bem o que você quis dizer... Podes explicar? Compartilhar este post Link para o post Compartilhar em outros sites
gRoOvE 0 Denunciar post Postado Junho 6, 2011 tipo, se eu tiver as classes: controlador, pessoa e persistencia e telaAddPessoa. Na interface, quando eu clicar em cadastrar, o controlador vai criar uma instancia de Pessoa e dai chamar Persistencia? Isso que nao entendi, qual a ordem das chamadas.. Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Tomasi 0 Denunciar post Postado Junho 6, 2011 Bom, tu tendo só essas classes, eu fico em dúvida, mas aí eu acho que o teu controle pode chamar a persistência direto. interface -> controle (instancia a pessoa) -> persistencia Mas se tu tiver mais classes no modelo pra represetar um subsistema, cria uma fachada. interface -> controle -> fachada (instancia a pessoa) -> persistencia Bom eu faria assim, é bom tu ver outras fontes também. abraço Compartilhar este post Link para o post Compartilhar em outros sites