Bem se estiver procurando mais conteúdo sobre MVC recomendo este link.
Estarei nele adicionando este tópico como referência na lista da primeira postagem. Espero ter colaborado!
Como foi muito bem falado pelo “Shoes”, Camada e MVC são diferentes, tenham isso na cabeça, e Camada tb difere entre “Tier” e “Layer”, uma coisa que acaba de vez com a confusão de camada e MVC é simples, eu posso ter MVC em apenas UMA camada, pronto, a partir disso esta claro que MVC é diferente de CAMADAS. Sugiro ler o artigo do Shoes citado neste post (fragmental) e ler novamente a reposta do Sergio Taborda.
Um problema destes conceitos é o seguinte, a maioria tem o conceito errado sobre MVC e Camadas, então como a maioria explica errado acabamos achando que a minoria que explica certo esta errada.
[]s
Obrigado usuários por participarem do tópico criado pelo Zeed01!
Parabéns pela iniciativa.
[quote=analyser]eu posso ter MVC em apenas UMA camada[/quote] ou em todas as camadas porém nunca vou ter 1 (Um) MVC com partes espalhadas pelas camadas, ou seja, nunca vou dizer que a camada de apresentação é a view do MVC assim como nunca vou dizer que a camada de negócios é o modelo do MVC e como NUNCA vou dizer que MVC tem uma das suas letras definindo camada nenhuma, concorda Analyser e usuários?
[quote=analyser]Como foi muito bem falado pelo “Shoes”, Camada e MVC são diferentes, tenham isso na cabeça, e Camada tb difere entre “Tier” e “Layer”, uma coisa que acaba de vez com a confusão de camada e MVC é simples, eu posso ter MVC em apenas UMA camada, pronto, a partir disso esta claro que MVC é diferente de CAMADAS. Sugiro ler o artigo do Shoes citado neste post (fragmental) e ler novamente a reposta do Sergio Taborda.
Um problema destes conceitos é o seguinte, a maioria tem o conceito errado sobre MVC e Camadas, então como a maioria explica errado acabamos achando que a minoria que explica certo esta errada.
[]s[/quote]
Camada ou não camada? Layer ou tier? Bom, vamos aos fatos. Falando de Java? Leiam o BluePrints:
http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/app-arch/app-arch2.html
Podemos SIM, dizer que cada parte do MVC é uma camada (layer), ou traduz de outra forma agora?
Os defensores de Domain-Driven Design vão dividir em camadas partes da aplicação, como User Interface (apresentation layer), Application Layer, Domain Layer e Infrastructure layer, o que tornaria confuso o termo layer em MVC.
Por melhor argumentação que alguns venham a dar, chamar de camada não é errôneo, mas confuso devido a traduções que dão a layer e tier aqui no Brasil. E não é porque há muitos defensores do DDD que devemos deixar de lado o BluePrints, o que me leva a uma pequena regra da faculdade: leiam sempre as bibliografias.
[quote=djemacao][quote=analyser]Como foi muito bem falado pelo “Shoes”, Camada e MVC são diferentes, tenham isso na cabeça, e Camada tb difere entre “Tier” e “Layer”, uma coisa que acaba de vez com a confusão de camada e MVC é simples, eu posso ter MVC em apenas UMA camada, pronto, a partir disso esta claro que MVC é diferente de CAMADAS. Sugiro ler o artigo do Shoes citado neste post (fragmental) e ler novamente a reposta do Sergio Taborda.
Um problema destes conceitos é o seguinte, a maioria tem o conceito errado sobre MVC e Camadas, então como a maioria explica errado acabamos achando que a minoria que explica certo esta errada.
[]s[/quote]
Camada ou não camada? Layer ou tier? Bom, vamos aos fatos. Falando de Java? Leiam o BluePrints:
http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/app-arch/app-arch2.html
Podemos SIM, dizer que cada parte do MVC é uma camada (layer), ou traduz de outra forma agora?
[/quote]
Sim.
Em inglês os termos tier e layer são usados indistinvamente e normalmente tier se refere a algo fisico enquando layer a algo abstrato. Essa noção de que as coisas são empilhadas como camadas de bolo têm 3 niveis de prespectiva. veja o cubo arquitetural. O cubo mostra duas dimenções em que ha empilhamento. De baixo para cima vc tem camadas que conectão a aplicação com o hardware. Estes elementos são chamados plataformas (platform). A plataforma java é uma plataforma virtual (penultimo de baixo para cima).
Da esquerda para a direita temos empilhamento logico. Se rodar o cubo verá que é um empilhamento.
Os elementos deste empilhamento são chamados andares (store). A terceira dimensão não é empilhada , são pilares cada um segura a aplicação por si mesmo.
O cubo forma um nodo. Nodos são conjuntos de andares e plataformas. Normalmente são equivalentes a máquinas (com o seu hardware, OS, jvm, etc…) mas podem haver vários nodos numa máquina fisica.
As palavras tier e layer podem significar nodos ou andares dependendo do contexto.
3-layer-design = design em 3 camadas => design em 3 andares. (design é coisa do ambito logico)
3-tier-arquitectura = arquitetura em 3 nodos
multi-tier-platform = plataforma multi-camada : aqui a palavra “camada” substitui tanto nodo quando andar porque se quer dizer que a plataforma suporta ambos.
è por isso que na escola nos ensinam a avaliar e entender o contexto, porque as palavras por si mesmas podem não ter significados objetivos (unicos)
Andar (store), Plataforma (platform) e Nodo (node) são melhores palavras porque seu significado não é ambiguo. Com esta nomenclatura “camada” significa “conjunto de componentes” e é equivalente a pacotes ou pedaços da API que trabalham num certo proposito.
MVC é um padrão de desenho para 1 andar em 1 nodo. Não é uma nomenclatura para os andares , nem os nodos.
“Modelo” não é o Dominio , como alguem falou algures nos trezentos topicos sobre MVC. “Modelo” é a parte que conversa com o Dominio. “View” Não é o que o usuário vê, mas aqui que aplicação interpreta como sendo o que o usuário interage. system.out e system.in podem ser a view. Não necessariamente a view é gráfica. A interface gráfica, em si, é um andar (o “cliente”) e pode ou não usar MVC.
Aplicações modernas , sobretudo em java separam-se em 5 andares : Cliente, Apresentação, Negocio, Integração e Recursos.
Cliente = A interface gráfica (algo desktop em swing , awt ou swt ou um browser)
Apresentação = a parte que é consultada pelo (model) do cliente. Ea media a interface grafica e o negocio. É responsável pelas famosas “logicas de tela”.
Negocio = As regras de dominio propriamente ditas. entidades, serviços, etc…
Integração= contém logicas que permitem à aplicação comunicar com outras aplicações. O classico é o acesso a banco de dados e a arquivos.mas coisas como cnab, webservices, ETF estariam aqui.
Recursos = recursos usados , o bando de dados em si mesmo (não o SGDB) , arquivos de salvaguarda, logs, qualquer coisa que a aplicação necessite para funcionar que pode ser produzida por ela ou não.
Numa aplicação web tipica:
Cliente = Browser
Apresentação = JSF ou Struts ou Spring MVC ou qq "framework web"
Negocio = Serviços, entidades e outras classes de dominio (validação, specification, value object , etc…)
Integração = Hibernate , qq framework ORM , JDBC puro , leitura de xml, etc…
Recursos = Banco de Dados e arquivos de configuração
É a primeira vez que vejo uma explicação bem clara e nada confusa em nosso idioma. Parabéns!
Parabéns Taborda!
Gostei da explicação.
Espero que a confusão agora termine depois dessa postagem e que os usuários finalmente discutam MVC e sua maneira de funcionar.
[quote=djemacao][quote=analyser]Como foi muito bem falado pelo “Shoes”, Camada e MVC são diferentes, tenham isso na cabeça, e Camada tb difere entre “Tier” e “Layer”, uma coisa que acaba de vez com a confusão de camada e MVC é simples, eu posso ter MVC em apenas UMA camada, pronto, a partir disso esta claro que MVC é diferente de CAMADAS. Sugiro ler o artigo do Shoes citado neste post (fragmental) e ler novamente a reposta do Sergio Taborda.
Um problema destes conceitos é o seguinte, a maioria tem o conceito errado sobre MVC e Camadas, então como a maioria explica errado acabamos achando que a minoria que explica certo esta errada.
[]s[/quote]
Camada ou não camada? Layer ou tier? Bom, vamos aos fatos. Falando de Java? Leiam o BluePrints:
http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/app-arch/app-arch2.html
Podemos SIM, dizer que cada parte do MVC é uma camada (layer), ou traduz de outra forma agora?
[/quote]
Concordo bastante com o que vc diz, e todas as discuções se voltam na maioria das vezes a traduções e interpretações diferentes, quando disse que pode ter MVC em uma camada só, me referia a Tier por exemplo, e não fui muito bem claro, agora não concordo com cada parte de um MVC pode ser uma Layer, não vejo um sistema real que divida em duas layers por exemplo View e Controller, se considerarmos por exemplo o básico “Apresentação/Aplicação/Negócio/Persistência”, ou seus derivados, enfim não vejo essa seraparação de MVC sendo cada parte uma camada, mesmo se tratando de layers.
[quote=analyser][quote=djemacao][quote=analyser]Como foi muito bem falado pelo “Shoes”, Camada e MVC são diferentes, tenham isso na cabeça, e Camada tb difere entre “Tier” e “Layer”, uma coisa que acaba de vez com a confusão de camada e MVC é simples, eu posso ter MVC em apenas UMA camada, pronto, a partir disso esta claro que MVC é diferente de CAMADAS. Sugiro ler o artigo do Shoes citado neste post (fragmental) e ler novamente a reposta do Sergio Taborda.
Um problema destes conceitos é o seguinte, a maioria tem o conceito errado sobre MVC e Camadas, então como a maioria explica errado acabamos achando que a minoria que explica certo esta errada.
[]s[/quote]
Camada ou não camada? Layer ou tier? Bom, vamos aos fatos. Falando de Java? Leiam o BluePrints:
http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/app-arch/app-arch2.html
Podemos SIM, dizer que cada parte do MVC é uma camada (layer), ou traduz de outra forma agora?
[/quote]
Concordo bastante com o que vc diz, e todas as discuções se voltam na maioria das vezes a traduções e interpretações diferentes, quando disse que pode ter MVC em uma camada só, me referia a Tier por exemplo, e não fui muito bem claro, agora não concordo com cada parte de um MVC pode ser uma Layer, não vejo um sistema real que divida em duas layers por exemplo View e Controller, se considerarmos por exemplo o básico “Apresentação/Aplicação/Negócio/Persistência”, ou seus derivados, enfim não vejo essa seraparação de MVC sendo cada parte uma camada, mesmo se tratando de layers.[/quote]
Essa discussão está longe do fim, mesmo porque, o pós DDD criaram várias “normas” sobre como o que deveria ser layer. Talvez o que o sergiotaborda interprete em relação a uma arquitetura de cubo seja mais fácil de entender. Porém, irá de encontro a explicação do blueprints se pensar no layer como “andares”, porque MVC não seria bem isso. Entretanto, se pensar no MVC Model 2 (e não MVC puro), ele não está totalmente isolado em uma Presentation Layer, seguindo o raciocínio do sergiotaborda. Penso sempre que, ao criarem essas normas no DDD, dá a impressão de desacoplamento total entre as camadas, o que no MVC Model 2 não existe. Também não posso dizer que os frameworks Java são o MVC Model 2 como a Sun pregou, pois suas características podem se diferir no MVC Model 2.
No fim das contas, vejo que MVC se tornou uma buzzword que todo framework quer dizer que é, mas cada framework, inclusive de cada linguagem, possui um MVC com características diferentes, interpretações diferentes, o que nos leva a pensar se realmente o MVC é necessário no nome.
Olá, meu Deus do céu que indefinição. E agora? MVC dentro Layer ou várias Layer dentro do MVC? :roll: :?: :roll:
E agora, quem poderá nos defender? :shock:
Só posso parabenizar o GUJ por presentear essas discussões beneficiosas a todos os companheiros!
Fico no aguardo por respostas!
Não sei se onde vc tirou isso (quer dizer, sei, mas vamos fingir que é irrelevante)
DDD é para o Domain. O Domain , o dominio é palavra que designa um andar. Chamado normalmente de “negocio”.
A ironia é que “negocio” está errado. Sistemas não têm negocio, têm dominios. Empresas têm negocios. Pessoas têm negocios.
A abstração do negocio, a “binirização” do negocio é o dominio. Esta nomenclatura é antiga. Não foi inventada pelo DDD. O DDD apenas diz que vc pode guiar seu desenvolvimento focando-se principalmente no dominio.
Mas para que fique claro: dominio é um andar: Cliente , Apresentação , Dominio , Integração, Recursos. É o mesmo andar que se chama também de “negocio”.
Está sim. Ele está todo na presentation layer (Andar de Apresentação).
O problema aqui é com o conceito de MVC2 - que quase ninguem entendeu direito.
Primeiro que tudo, o que seria o MVC1 ? É um outro tipo de MVC ? Quandos ha afinal ? Dizem que o JSF é o MVC3, e ai ?
Só existe um tipo de MVC. MVC é um padrão. Apenas existe um.
O que existe são 3 formas de o implementar no andar de apresentação de uma aplicação web em java.
MVC1 ( a primeira tentativa)
Crie-se uma forma de interagir com o protocolo HTTP chame-lhe Servlet. Crie uma maneira dos Servelts cooperarem. Chame-lhe Servlet Container.
Quem recebe os dados ? um servlet. Quem processa os dados ? um servlet. Quem manda a resposta ? um servlet ?
No modelo não-MVC um servlet só - uma classe só - faria tudo. No MVC 1 um tipo diferente de servlet fará cada coisa.
Como o recebimento de dados já é tratado pelo container ( que tradus HTTP para objetos dentro do request) só precisamos implementar um servlet para o controle e um para a resposta. Este é o modelo MVC1.
Mas implementar um servlet para resposta escrevendo HTML na mão dentro do servlet é uma porcaria… dai veio a ideia do JSP.
O JSP é um servlet especial que será compilado a partir de um arquivo especialmente formatado. Isto simplifica muito a implementação do servlet de resposta. O mecanismo serlet de controle + jsp de resposta é o modelo MVC2.
O servlet de controle é muito simples de padronizar e precisamos apenas de uma classe desse tipo. Por isso vários frameworks surgiram para simplificar ainda mais o MVC2 porque agora vc nem precisa mais implementar o servlet de controle ( apenas um pedaço dele) e o jsp.
O modelo MVC3 ( do jsf) introduz o conceito de evento. Este é um conceito que existe no padrão MVC não não era necessário no MVC1 e 2. ( ou melhor, o evento era implicito no prioprio request. O request é o evento).
No modelo MVC3 o request não é mais o evento, o evento é uma coisa em si mesma. Não ha mas JSP e sim um mecanismo de definir a resposta. Definir, não renderizar. O MVC3 isola o C num servlet de controle especial ( o servlet do JSF) o modelo no managedbean e a view num arquivo de face ( que pode ser implementado em jsp, mas isso é um detalhe tecnologico).
Estas coisas interagem pelo modelo MVC do padrão comum , via eventos.
Nada disto sai fora da camada de apresentação. A View no é o HTML do browser, a view é o servlet/jsp/mecanismo que renderiza a resposta. É um detalhe que seja HTML. poderia ser xml, soap, json, etc…
E o ajax ? perguntará vc… o Ajax é um MVC do andar cliente. O Ajax funciona apenas no browser. Quando o ajax consulta o servidor, ele está consultando o model ( do ponto de vista dele é o model) que invoca a view do andar de apresentação e ai vai…
São dois MVC trabalhando juntos. Um no cliente e um no servidor.
Antigamente, sem ajax, não havia MVC no cliente e por isso as aplicações eram chatas. RIA nada mais é que levar o MVC para o browser, em javascript e ajax.
[quote]
Penso sempre que, ao criarem essas normas no DDD, dá a impressão de desacoplamento total entre as camadas, o que no MVC Model 2 não existe. Também não posso dizer que os frameworks Java são o MVC Model 2 como a Sun pregou, pois suas características podem se diferir no MVC Model 2.
No fim das contas, vejo que MVC se tornou uma buzzword que todo framework quer dizer que é, mas cada framework, inclusive de cada linguagem, possui um MVC com características diferentes, interpretações diferentes, o que nos leva a pensar se realmente o MVC é necessário no nome.[/quote]
À luz que acabei de dizer, nenhuma destas frases faz sentido.
Sergio, vamos deixar de lado um pouco o DDD e seus conceitos. Vamos entender o que seria layer, ao meu ver, no blueprints. Como você mesmo disse, e eu conheço o MVC Model 2 e 1, bem, cada parte, embora esteja trabalhando claro, a apresentação do cliente, são partes que interagem entre si, mas estão separadas de alguma forma. Ao não chamarmos de layer (ao qual traduzimos como camadas), estariamos traduzindo cada parte como o que? Parte? Etapa? Percebe que não estou dizendo que uma Layer do DDD é como uma Layer do MVC, pois sei que não são. Mas questiono o fato de que estão unidas por um lado e separadas por outro. Veja o caso do pessoal que diz matar um DAO e adicionar lógica aonde, no controller? Ou vamos criar um façade aqui para acessar pelo controller assim chamamos de…?
Ao entrarmos com o DDD, situações como aquelas em que alguns defendem o fim do DAO graças a JPA, vejo como uma invasão da Layer no modo DDD de pensar. E quando usamos activerecord?
A meticulosa capacidade de cada um vir aqui e explicar seus pontos de vista não me convencem bem. Isso tudo no Java. Em .Net já vi defensores do DDD fazerem outras coisas estranhas, mas falaremos disso em outra ocasião.
Aguardo a sua explicação. Se quiser, pode desenhar .
PS: Um edit rápido, onde viu que JSF é tido como MVC3?
[quote=djemacao]Sergio, vamos deixar de lado um pouco o DDD e seus conceitos. Vamos entender o que seria layer, ao meu ver, no blueprints. Como você mesmo disse, e eu conheço o MVC Model 2 e 1, bem, cada parte, embora esteja trabalhando claro, a apresentação do cliente, são partes que interagem entre si, mas estão separadas de alguma forma. Ao não chamarmos de layer (ao qual traduzimos como camadas), estariamos traduzindo cada parte como o que? Parte? Etapa? Percebe que não estou dizendo que uma Layer do DDD é como uma Layer do MVC, pois sei que não são. Mas questiono o fato de que estão unidas por um lado e separadas por outro.
[/quote]
Esse conceito de unidas foi vc que inventou. elas não estão unidas.
MVC modelo 1 e 2 acontecem apenas no servidor, apenas dentro do Servlet Container. Não ha como confundir com o browser ou qq coisa exterior ou em outro andar ou nodo.
Não entendi qual é a sua duvida. Oque é um layer ? Layer (andar) é uma separação lógica da responsabilidade dos objetos do sistema. é uma forma de separar Responsabilidade sobre o controle de fluxo. É a versão arquitetural do padrão de design Chain of Responsability. Cada andar é um “container lógico” para as classes que fazem certos trabalhos.
Vc falou para esquecer o DDD.
DDD não é chamado para aqui. Ele restringe-se a um só andar e é uma metodologia de desenvolvimento. Não tem nada a haver com arquitetura.
[quote]
PS: Um edit rápido, onde viu que JSF é tido como MVC3?[/quote]
Não lembro. Algum blog de alguém.
Todas porque qualquer parte, tirando a chamada a um banco de dados, web services ou arquivos em geral, acontecem em um Servlet Container ou em um EJB Container. Quando se refere a um layer o que chama de separar responsabilidade? Um MVC separa responsabilidade também. Dizer que MVC não pode ser layer é uma visão um tanto quanto crítica. Só porque o MVC trata de controle de fluxo? Isso que não entendo, porque a palavra Layer não se encaixaria no MVC, em cada parte? Vai me dizer que cada framework que tem por ai não tem uma visão um pouco diferente dessas tais “separações de responsabilidade”?
Não estou nem falando de browser, que apenas recebe os dados ou os envia.
Apenas cito DDD porque o conceito de que a palavra layer no MVC é errônea parte mais de seus defensores. Não digo que a metodologia é ruim, nada disso. Apenas quero entender porque não podemos falar layer. O que me impediria ter uma layer dentro de outra ou chamá-la assim? Estou sendo tão errado que seria um crime isso? Ou o conceito aqui é por ser confuso? É nisso que quero chegar.
Valeu se puder responder.
Abraço
[quote=djemacao][quote=sergiotaborda]
Esse conceito de unidas foi vc que inventou. elas não estão unidas.
MVC modelo 1 e 2 acontecem apenas no servidor, apenas dentro do Servlet Container. Não ha como confundir com o browser ou qq coisa exterior ou em outro andar ou nodo.
Não entendi qual é a sua duvida. Oque é um layer ? Layer (andar) é uma separação lógica da responsabilidade dos objetos do sistema. é uma forma de separar Responsabilidade sobre o controle de fluxo. É a versão arquitetural do padrão de design Chain of Responsability. Cada andar é um “container lógico” para as classes que fazem certos trabalhos.
[/quote]
Todas porque qualquer parte, tirando a chamada a um banco de dados, web services ou arquivos em geral, acontecem em um Servlet Container ou em um EJB Container. Quando se refere a um layer o que chama de separar responsabilidade?
[/quote]
Como eu já disse andar (pare de chamar de layer) é uma separação lógica. “lógica” significa que só existe na cabeça dos desenvolvedores. Na realidade é tudo um conjunto de objetos vivendo no heap da JVM.
Talvez seja dificil de entender, mas eu não sei explicar melhor.
Não fui eu que inventei o MVC nem a nomenclatura de layer nem a sobreposição em camadas.
O que estou dizendo são os factos. Simplesmente MVC não são nomes de 3 layers. É o nome de um padrão de projeto que é utilizado para organizar a implementação dentro de uma layer.
Não é uma critica. É atestar a realidade.
Simplesmente não encaixa. Não é assim. O nome “layer” não pode ser aplicado para essa finalidade.
Ha uma nomenclatura tenica a ser seguida.
Vou. Padrões de Projeto são seguidos por todo o mundo. A implementação, os trade-offs e as nomenclaturas podem ligeiramente
fazê-lo pensar que não, mas é real.
Não sei de onde tirou essa idéia, mas está enganado.
O conceito do MVC , o padrão MVC , e o conceito de camadas não têm nada a haver, nunca tiveram. Esta errada concepção
que se alastrou como fogo na palha por aqui é simplesmente errada. E o fato de haver muita gente que não sabe, ou não entende
não atesta para a sua veracidade, mas sim para a falta de compreensão de OO por parte dessas pessoas. E enfim, atesta um nivel técnico baixo para o pais como um todo.
Não é uma questão de gosto. É algo que simplesmente é assim. A sua unica opção é entender como é. Tentar dizer que está errado não faz sentido. É como vc tentar convencernos que a palavra “não” é usada para concordar com o que as outras pessoas falam. Simplesmente não. Nunca será. Mesmo que algum maluco faça isso e tenha convensido uma duzia de palermas a fazer o mesmo.
Primeiro porque sua lingua mãe não é o inglês. Segundo porque layer não o mesmo conceito que MVC. é como dizer pão e nuvem. Não representam a mesma coisa.
Simples. Layers existem empilhadas. Umas em cima das outras. Não dentro.
Você está confuso sim. Não é crime estar confuso. É crime permanecer confuso.
Você precisa ler mais, estudar mais e melhor até você entender a diferença.
O conceito não é confuso. O conceito é muito simples.
Ok Sergio, façamos o seguinte, me passe o nome dos livros que leu, já que o que menciona é não aceitar layer para cada parte de MVC, agora me prove porque. Citei o blueprints, agora é sua vez de citar bons livros já que acha que não li os bons.
Me desculpe, mas sua capacidade de convencimento é fraca porque mostra explicações, até muito boas, mas as fontes que são mais necessárias ainda não vi. Fora que sempre cita o Java, não conheci o DDD só no Java, conheci no .Net também.
Não paro de chamar de layer porque são assim nos livros. Não dá pra ficar chamando de andar. Desculpe se estou lhe irritando, mas sou chato mesmo .
[quote=djemacao]Ok Sergio, façamos o seguinte, me passe o nome dos livros que leu, já que o que menciona é não aceitar layer para cada parte de MVC, agora me prove porque. Citei o blueprints, agora é sua vez de citar bons livros já que acha que não li os bons.
Me desculpe, mas sua capacidade de convencimento é fraca porque mostra explicações, até muito boas, mas as fontes que são mais necessárias ainda não vi. Fora que sempre cita o Java, não conheci o DDD só no Java, conheci no .Net também.
Não paro de chamar de layer porque são assim nos livros. Não dá pra ficar chamando de andar. Desculpe se estou lhe irritando, mas sou chato mesmo .[/quote]
O problema é exatamente esse, vários livros estão errados sobre seus conceitos, pq? Pq leram outros livros errados, e assim por diante, é um conceito muito difícil de corrigir, é como uma bola de neve, um explica o conceito errado e assim vai, partindo pelos péssimos professores universitários que temos, não quero generalizar, existem ótimos professores e eu conheço sim, mas também existem outros que não aplicam o conceito certo, e a aprovação desta monografia apresentada neste post, é uma prova disso.
[]s
[quote=analyser][quote=djemacao]Ok Sergio, façamos o seguinte, me passe o nome dos livros que leu, já que o que menciona é não aceitar layer para cada parte de MVC, agora me prove porque. Citei o blueprints, agora é sua vez de citar bons livros já que acha que não li os bons.
Me desculpe, mas sua capacidade de convencimento é fraca porque mostra explicações, até muito boas, mas as fontes que são mais necessárias ainda não vi. Fora que sempre cita o Java, não conheci o DDD só no Java, conheci no .Net também.
Não paro de chamar de layer porque são assim nos livros. Não dá pra ficar chamando de andar. Desculpe se estou lhe irritando, mas sou chato mesmo .[/quote]
O problema é exatamente esse, vários livros estão errados sobre seus conceitos, pq? Pq leram outros livros errados, e assim por diante, é um conceito muito difícil de corrigir, é como uma bola de neve, um explica o conceito errado e assim vai, partindo pelos péssimos professores universitários que temos, não quero generalizar, existem ótimos professores e eu conheço sim, mas também existem outros que não aplicam o conceito certo, e a aprovação desta monografia apresentada neste post, é uma prova disso.
[]s[/quote]
Eu penso o seguinte, livros não estão errados. São suas interpretações que o são. Defender um mero programador/arquiteto ou sei lá o que for em um fórum contra o blueprints ou livros é esquisito, não acha? Ótimos autores não leem qualquer porcaria e nem leem pouco. E ótimos autores não são autores realmente, não ganham com isso na informática e nunca vão ganhar.
Não são que livros leram de outros errados e virou bola de neve, vamos interpretar que as coisas mudam. Ainda agora vi uma chamada no fórum de notícias do que seria um livro sobre design patterns e o que mudariam. Hora, é assim o mundo, porque não no desenvolvimento? As regras, palavras e padrões se alteram. As questões que 10 anos eram razoavelmente respondidas bem, agora são totalmente diferentes, porque? Porque as perguntas são diferentes e exigem respostas diferentes.
Logo, discussões sobre, é layer, não é, é DDD, não é, é camada, andar e por ai vai, fica ridícula e bem sem sentido.
Desculpe ai os dois que ficaram discutindo é ou não layer, mas sinceramente, não ganhei nada com essa discussão, o que gerou dúvida no começo apenas me levou a uma resposta de tantas perguntas que me fiz: Eu só sei que estão dificultando demais o que seria simples, só isso. To começando a realmente achar que Ruby on Rails é onde devo pousar e mudar meu nick pra rubymaniaco :lol: .
[quote=javamaniaco][quote=analyser][quote=djemacao]Ok Sergio, façamos o seguinte, me passe o nome dos livros que leu, já que o que menciona é não aceitar layer para cada parte de MVC, agora me prove porque. Citei o blueprints, agora é sua vez de citar bons livros já que acha que não li os bons.
Me desculpe, mas sua capacidade de convencimento é fraca porque mostra explicações, até muito boas, mas as fontes que são mais necessárias ainda não vi. Fora que sempre cita o Java, não conheci o DDD só no Java, conheci no .Net também.
Não paro de chamar de layer porque são assim nos livros. Não dá pra ficar chamando de andar. Desculpe se estou lhe irritando, mas sou chato mesmo .[/quote]
O problema é exatamente esse, vários livros estão errados sobre seus conceitos, pq? Pq leram outros livros errados, e assim por diante, é um conceito muito difícil de corrigir, é como uma bola de neve, um explica o conceito errado e assim vai, partindo pelos péssimos professores universitários que temos, não quero generalizar, existem ótimos professores e eu conheço sim, mas também existem outros que não aplicam o conceito certo, e a aprovação desta monografia apresentada neste post, é uma prova disso.
[]s[/quote]
Eu penso o seguinte, livros não estão errados. São suas interpretações que o são.
[/quote]
Não tenho nem palavras para descrever como essa pensamento é completamente calamitoso.
Se pessoas podem estar erradas e pessoas escrevem livros, obviamente livros podem estar errados. Tão simples assim.
Então. Vc leu o blueprints. E que mais você leu ? leu em ingles ou portugues ? qual é o nivel de dominio que vc tem dessas linguas ?
Não será você que interpretou mal os textos ? Qual livro você leu dizendo que diz que MVC é separação em camadas. O blueprints não diz isso ( por favor cite se vc encontrar onde diz isso )
Não sei onde vamos parar assim …
Já que vc gosta de livros e livros não mentem que tal ler sobre a Inquisição ? afinal se a biblia diz que a terra é quadrada porque raios ela é redonda ? Ela tem que ser quadrada como está nos livros … .e no mapa. o mapa tb é quadrado. É a prova que a terra não é redonda ! … :roll: :roll: :roll: :shock: :shock:
Eu já não sei mais se é ingenuidade ou malicia…
[quote=javamaniaco][quote=analyser][quote=djemacao]Ok Sergio, façamos o seguinte, me passe o nome dos livros que leu, já que o que menciona é não aceitar layer para cada parte de MVC, agora me prove porque. Citei o blueprints, agora é sua vez de citar bons livros já que acha que não li os bons.
Me desculpe, mas sua capacidade de convencimento é fraca porque mostra explicações, até muito boas, mas as fontes que são mais necessárias ainda não vi. Fora que sempre cita o Java, não conheci o DDD só no Java, conheci no .Net também.
Não paro de chamar de layer porque são assim nos livros. Não dá pra ficar chamando de andar. Desculpe se estou lhe irritando, mas sou chato mesmo .[/quote]
O problema é exatamente esse, vários livros estão errados sobre seus conceitos, pq? Pq leram outros livros errados, e assim por diante, é um conceito muito difícil de corrigir, é como uma bola de neve, um explica o conceito errado e assim vai, partindo pelos péssimos professores universitários que temos, não quero generalizar, existem ótimos professores e eu conheço sim, mas também existem outros que não aplicam o conceito certo, e a aprovação desta monografia apresentada neste post, é uma prova disso.
[]s[/quote]
Desculpe ai os dois que ficaram discutindo é ou não layer, mas sinceramente, não ganhei nada com essa discussão[/quote]
Amigo, nem todas as discussões e comentários agregam algo de valor, por exemplo seu comentário num agregou em nada tb a discussão.
[quote]
Eu só sei que estão dificultando demais o que seria simples, só isso.[/quote]
Exato, esse é o problema.
[quote]
To começando a realmente achar que Ruby on Rails é onde devo pousar e mudar meu nick pra rubymaniaco :lol: .[/quote]
Acho que a discussão se volta para o conceito de MVC e Camadas, e não para a linguagem java em específico, mais tai fiquei com uma dúvida agora que vc pode me esclarecer, o conceito de MVC e Camadas no ruby é diferente?