Manipulação de arquivos e MVC

Pessoal, boa noite.

a Manipulação de Arquivo, Abrir, Ler, escrever, reescrever, converter pdf2txt segundo o MVC é model?

Abço

[quote=x00m] Pessoal, boa noite.

a Manipulação de Arquivo, Abrir, Ler, escrever, reescrever, converter pdf2txt segundo o MVC é model?

[/quote]

Não!
MVC não tem nada a haver com isso!

Blz sergiotaborda.

Mas por que? estou perguntando por que me falaram pra fazer isso no meu projeto e nao concordei muito.

atualmente esta no Controller mas como não sei mta coisa de MVC resolvi perguntar…

Obrigado, Abço

[quote=x00m]Blz sergiotaborda.

Mas por que? estou perguntando por que me falaram pra fazer isso no meu projeto e nao concordei muito.

atualmente esta no Controller mas como não sei mta coisa de MVC resolvi perguntar…
[/quote]

Porque não não está relacionado. Tão simples quanto isso.

Aplicações dividem-se em sistema e sistemas em camadas (andares) e as camadas não são chamadas view, controler, model.
As camadas são chamadas cliente, apresentação, dominio/negocio , integração, recursos.

Sendo que um arquivo é um recurso ele está na camada recurso (que nem é em java) e a leitura tem que estar acima disso, ou seja, na integração. Leitura e escrita de arquivos está na camada de integração por definição de camada de integração. Tb nesta camada estão o acesso a bando de dados e o ORM.

Dizer que está no controller simplesmente não significa nada e é absurdo. Basicamente a pessoa que lhe falou isso não sabe o que é MVC e precisa vir no GUJ aprender.

MVC não é separação em camadas!

[quote=sergiotaborda][quote=x00m]Blz sergiotaborda.

Mas por que? estou perguntando por que me falaram pra fazer isso no meu projeto e nao concordei muito.

atualmente esta no Controller mas como não sei mta coisa de MVC resolvi perguntar…
[/quote]

Porque não não está relacionado. Tão simples quanto isso.

Aplicações dividem-se em sistema e sistemas em camadas (andares) e as camadas não são chamadas view, controler, model.
As camadas são chamadas cliente, apresentação, dominio/negocio , integração, recursos.

Sendo que um arquivo é um recurso ele está na camada recurso (que nem é em java) e a leitura tem que estar acima disso, ou seja, na integração. Leitura e escrita de arquivos está na camada de integração por definição de camada de integração. Tb nesta camada estão o acesso a bando de dados e o ORM.

Dizer que está no controller simplesmente não significa nada e é absurdo. Basicamente a pessoa que lhe falou isso não sabe o que é MVC e precisa vir no GUJ aprender.

MVC não é separação em camadas![/quote]

segundo o que eu encontrei no site http://java.sun.com/blueprints/patterns/MVC-detailed.html MVC é:
Model: “O modelo representa os dados da empresa e as regras comerciais que governam o acesso e atualizações de dados.” Pode ser os dados em um banco de dados ou a manipulação de arquivos para armazenamento desses dados.
View: “O View é para visualizar o conteúdo do Model.”
Controller: “O controlador traduz as interações do View com o Model e vice-versa.”

até nas pós-graduações de Java os professores classificam MVC como programação em camadas e não classificam como padrão de projetos. Mas isso depende de cada autor. Já vi autores de livros dizerem que MVC não é padrão de projetos e já vi o contrário tbem.

Esse site trata o MVC como multi-tier enterprise applications (aplicação multi-camadas).
Mas como eu disse, essas coisas variam de acordo com os autores de livros.

Respondendo à pergunta de x00m:

[quote=x00m] Pessoal, boa noite.

a Manipulação de Arquivo, Abrir, Ler, escrever, reescrever, converter pdf2txt segundo o MVC é model?

Abço[/quote]

a Manipulação de Dados, seja ela como for, pode ser encarada na parte Model.

Até mais

eliangela, Obrigado.

Confesso que estava tendo um choque de conceitos, não encarar o MVC como camadas pois foi justamente a forma que o professor falou, mas em fim a ideia não é confrontar e sim aprender…

Obrigado a todos pela boa vontade.

[quote=eliangela][quote=sergiotaborda][quote=x00m]Blz sergiotaborda.

Mas por que? estou perguntando por que me falaram pra fazer isso no meu projeto e nao concordei muito.

atualmente esta no Controller mas como não sei mta coisa de MVC resolvi perguntar…
[/quote]

Porque não não está relacionado. Tão simples quanto isso.

Aplicações dividem-se em sistema e sistemas em camadas (andares) e as camadas não são chamadas view, controler, model.
As camadas são chamadas cliente, apresentação, dominio/negocio , integração, recursos.

Sendo que um arquivo é um recurso ele está na camada recurso (que nem é em java) e a leitura tem que estar acima disso, ou seja, na integração. Leitura e escrita de arquivos está na camada de integração por definição de camada de integração. Tb nesta camada estão o acesso a bando de dados e o ORM.

Dizer que está no controller simplesmente não significa nada e é absurdo. Basicamente a pessoa que lhe falou isso não sabe o que é MVC e precisa vir no GUJ aprender.

MVC não é separação em camadas![/quote]

segundo o que eu encontrei no site http://java.sun.com/blueprints/patterns/MVC-detailed.html MVC é:
Model: “O modelo representa os dados da empresa e as regras comerciais que governam o acesso e atualizações de dados.” Pode ser os dados em um banco de dados ou a manipulação de arquivos para armazenamento desses dados.
View: “O View é para visualizar o conteúdo do Model.”
Controller: “O controlador traduz as interações do View com o Model e vice-versa.”

até nas pós-graduações de Java os professores classificam MVC como programação em camadas e não classificam como padrão de projetos. Mas isso depende de cada autor. Já vi autores de livros dizerem que MVC não é padrão de projetos e já vi o contrário tbem.

Esse site trata o MVC como multi-tier enterprise applications (aplicação multi-camadas).
Mas como eu disse, essas coisas variam de acordo com os autores de livros.[/quote]

Aqui no guj esse negócio já deu muito pano pá manga rs… Mas a coisa toda se resume à responsabilidade. A view tem a responsabilidade de exibição de dados e permite a iteração do usuário. O Model, é o ( falando bem toscamente ) o datasource da aplicação, e o controller é o mediador da conversa toda… logo, por simples eliminação nenhuma regra de negócio ou requisito de infraestrutura deveria ser referenciada na view ou no controller, por responsabilidade.

Mais um professor desqualificado… ¬¬

Mas MVC não tem muito a ver com camadas mesmo não… dá uma procurada nos últimos tópicos sobre MVC para se informar melhor. E é bom dar uma lida em alguns livros clássicos de arquitetura ta,bém, pra não achar que o pessoal do guj está falando asneira…

EHEHEEHEH eu particularmente dou mais valor ao que leio aqui do que o que o professor fala.

[quote=eliangela][quote=sergiotaborda][quote=x00m]Blz sergiotaborda.

Mas por que? estou perguntando por que me falaram pra fazer isso no meu projeto e nao concordei muito.

atualmente esta no Controller mas como não sei mta coisa de MVC resolvi perguntar…
[/quote]

Porque não não está relacionado. Tão simples quanto isso.

Aplicações dividem-se em sistema e sistemas em camadas (andares) e as camadas não são chamadas view, controler, model.
As camadas são chamadas cliente, apresentação, dominio/negocio , integração, recursos.

Sendo que um arquivo é um recurso ele está na camada recurso (que nem é em java) e a leitura tem que estar acima disso, ou seja, na integração. Leitura e escrita de arquivos está na camada de integração por definição de camada de integração. Tb nesta camada estão o acesso a bando de dados e o ORM.

Dizer que está no controller simplesmente não significa nada e é absurdo. Basicamente a pessoa que lhe falou isso não sabe o que é MVC e precisa vir no GUJ aprender.

MVC não é separação em camadas![/quote]

segundo o que eu encontrei no site http://java.sun.com/blueprints/patterns/MVC-detailed.html MVC é:
Model: “O modelo representa os dados da empresa e as regras comerciais que governam o acesso e atualizações de dados.” Pode ser os dados em um banco de dados ou a manipulação de arquivos para armazenamento desses dados.
[/quote]

Essa ultima parte -que pode ser os dados em um banco - não está lá. Isso vc inventou. E não está lá porque não faz sentido.

Eu não tenho culpa de haver pessoas embecis no mundo que não sabem nada e ficam ensinando errado. Nem de pessoas sem espinha dorsal que comem tudo isso sem pestanejar. Professores não são deuses. autores não são deuses. Livros não são sagrados. Ainda para mais em tecnologia!

MVC é um padrão de projeto ligado à organização de componentes dentro da camada. Se vc ler alguma coisa diferente disto tenha a certeza que está errado. Mas não acredite em mim. Estude! tome a sua própria decisão.

Se MVC é sobre camadas , então me explique onde vc encaixa a camada cliente e a camada integração. Um ESB está em que camada ? Um peer-to-peer é montado em que camada ? RIA é montado em qual camada ?

A verdade não depende de quem a diz. Portanto, se é verdade que MVC e camadas são coisas diferentes vc encontra evidências disso em todo o lugar. E elas estão lá. É só olhar e ver.

Manipulação de arquivos não está no model! Ficar falando isso não faz com que seja verdade. E se foi o professor que falou isso : mude de escola!

Essa conversa de “o professor disse” é válida na primeira série, na faculdade vc tem que saber pesquisar e saber se o professor falou certo. É isso que significa estar na faculdade!
Autores são pessoas. São influenciáveis por outras pessoas. Tal como aqui ha pessoas dizendo asneiras ha pessoas dizendo asneiras nos livros. Tem um por ai chamado @#$@#33$@#$$$%#$ que é simplesmente um lixo. Ele afirma que em java existe byte unsigned! um absurdo. Agora, se eu acredito nisso mereço me lascar mesmo. Meu nem passei dessa página.

Se quer consultar livros consulte os corretos! se quer aprender com professores, aprenda com os melhores!

“Some do. Some theach. The rest look it up” - ALguns fazem. Alguns ensinam. O resto procura nos livros. Vc quer ficar procurando nos livros o resto da vida ?

MVC não é separação em camadas

“The model represents enterprise data and the business rules that govern access to and updates of this data.”
A que tipos de dados vc acredita que esta frase se refere?

É VC que está dizendo isso? ou vc está se baseando em algo escrito em outro lugar?
olha, cara, nunca disse que eu estou 100% certa. Quero saber da onde que vc tirou que MVC não é separação em camadas. Porque eu tbem quero ver e quero concordar com vc.

Me diz em que vc baseia seus conhecimentos então?

Até

[quote=eliangela][quote=sergiotaborda]
Essa ultima parte -que pode ser os dados em um banco - não está lá. Isso vc inventou. E não está lá porque não faz sentido.
[/quote]

“The model represents enterprise data and the business rules that govern access to and updates of this data.”
A que tipos de dados vc acredita que esta frase se refere?
[/quote]

Refere-se aos objetos que são a abstração dos dados das entidades de forma a poderem ser entendidos pelo view e o controler.
Isto podem ser simples beans ou podem ser objetos complexos como o TableModel do swing. O importante aqui é palavra
“representam”. Eles representam, eles não são dados e as regras. Ou seja, eles são meros adaptadores para a coisa real.
“Enterprise Data” significa “dados da empresa/coorporativos” e não “dados no banco”. Não existe nenhuma referencia a banco de dados ai. Nem poderia.
Se fossemos seguir essa logica “business rules” seria o quê ? store procedures? Isto não faz nenhum sentido.

O Swing é MVC. Será que a sun está dizendo que o swing deveria ser diretamente acoplado a store procedures do banco ? Não me parece. Isso seria ridículo.

Não acredite em mim. Procure outras fontes.

tirei da definição do padrão. Da historia do padrão. Da definição de camadas. Da compreensão do SoC. Da compreensão de design e de arquitetura. De ter implementado vários frameworks com base em mvc e vários sistemas com separação de camadas. Em suma, de ter estudado o assunto.

Vocês precisam entender que referencias a livros não provam nada. Para cada um que disse A outro diz não-A. O embuste está espalhado e tão enrraizado que até professores ensinam isso em faculdades da forma errada. É preciso apelar para a lógica e para o levantamento imparcial dos fatos.

Uma página que resume bem o MVC é esta.
Eu não estou referindo isto como prova, mas como exemplo de que não fui eu que inventei isto de que o MVC é diferente de camadas. Não se trata de eu convencer ninguém. Trata-se de eu alertar para esse erro cometido por vcs que pensam assim. São vcs que têm que ir estudar e aprender direito. Ninguem pode convencer ninguem de algo a menos que a pessoa já acedite nisso.

Todo o mundo sabe que um camada só pode chamar e dependender da camada abaixo dela. E todo o mundo conhece o triangulo de dependencia do MVC. Só isto já deveria provar que M,V e C não são camadas já que explicitamente uma parte depende da outra num circuito fechado. N indícios existem para mostrar que são coisas diferentes. Mas se vcs não enxergam isso , que posso eu fazer ?