João Batista Neto 448 Denunciar post Postado Julho 27, 2010 Olá Pessoal, Chegamos no momento da definição da arquitetura e modelagem da aplicação; Esse é, talvez, o ponto crítico de todo o desenvolvimento e, uma boa modelagem, poderá fazer com que consigamos, no futuro, escalar a aplicação sem problemas. Independentemente da forma que a aplicação for utilizada, sempre teremos, inevitavelmente, requisição e resposta. Nossa aplicação basear-se-a nesse aspecto, de requisição e resposta: 1. Toda requisição possui, inevitavelmente, lista de cabeçalhos e corpo. 2. Toda resposta possui, inevitavelmente, lista de cabeçalhos e corpo. Dessa forma: Agora, a grande questão é que um ou mais controladores da aplicação podem tratar uma requisição, então, com HMVC, temos o seguinte: Dessa forma, a adição de um novo controlador poderá causar a modificação da interface de usuário segundo as características do módulo adicionado. Isso nos garantirá flexibilidade na hora de escalar e a abstração necessária para qualquer recurso da aplicação. Compartilhar este post Link para o post Compartilhar em outros sites
Daniel Ribeiro 4 Denunciar post Postado Julho 27, 2010 Muito bem, pessoal. Agora que temos uma estrutura HMVC definida, podemos começar a pensar nas premisssas do desenvolvimento. Como vocês puderam perceber - ou não, e isso faz parte do processo de aprendizado - , o João Batista Neto nos proporcionou uma excelente modelagem da arquitetura necessária para iniciarmos o trabalho propriamente dito. Nessa arquitetura, fica evidente a adoção de diferentes Design Patterns que vão servir de solução para muitos problemas previamente pensados da aplicação. Nesse contexto, venho aqui sugerir algumas leituras básicas obrigatórias para aqueles que vão participar do desenvolvimento core da aplicação, ou seja, vão trabalhar nas camadas de requisição e resposta. Design Patterns e o Desenvolvimento em PHP - Chain of Responsibility Essa é a base para todo e qualquer desenvolvedor que deseja trabalhar na arquitetura MVC / HMVC. É preciso entender bem o conceito de chain adotado pelo design pattern para saber como adequar o fluxo da aplicação às nossas necessidades reais de funcionabilidade. MVC For Noobs HMVC: An introduction and Application Ambas leituras obrigatórias para todo e qualquer desenvolvedor que não conhece ou ainda não sabe como trabalhar da maneira correta na arquitetura MVC / HMVC. Esse é, definitivamente, o ponto de partida do nosso desenvolvimento. Lembrem-se, pessoal, TODOS aqueles que vão participar efetivamente do desenvolvimento core de nossa aplicação DEVERÃO ler esses artigos, para que assim possamos iniciar, de fato, os trabalhos de desenvolvimento. Compartilhar este post Link para o post Compartilhar em outros sites
h4v3st 1 Denunciar post Postado Julho 27, 2010 Daniel boa. Eu, como sou leigo no assunto, ja fui procurar e encontrei parte do artigo que você indicou (MVC for noobs) traduzido. Acesse por aqui. Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Julho 27, 2010 Eu acredito que, pelo menos pra mim, uma senhora dificuldade é a interpretação dos diagramas de modelagem. Comecei com isso há pouquíssimo tempo, ainda com diagramas de atividade. Para modelagem de arquitetura não entendo muito. Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Julho 27, 2010 Eu acredito que, pelo menos pra mim, uma senhora dificuldade é a interpretação dos diagramas de modelagem. Existe alguma dúvida específica ? Algum ponto ficou complexo demais ? Existem dois tipos de padrão nesse diagrama: Padrão de design (Chain Of Responsibility, Composite,Iterator...) Padrão de arquitetura (MVC, HMVC) Onde eu preciso elaborar mais, para ficar mais simples ? Compartilhar este post Link para o post Compartilhar em outros sites
R4ph 0 Denunciar post Postado Julho 27, 2010 Podem contar comigo.. Irei ler a bibliografia necessária. Qual o prazo de leitura? Bibliografia 4 noobs FTW!. Ps: Recomendo tb a leitura do livro PhP orientado a objetos para iniciantes como eu. Compartilhar este post Link para o post Compartilhar em outros sites
h4v3st 1 Denunciar post Postado Julho 27, 2010 João, a modelagem está perfeita. Pra mim a dúvida era na parte teórica mesmo. Ja li uns artigos e começei a entender o diagrama :) Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Julho 27, 2010 Eu acredito que, pelo menos pra mim, uma senhora dificuldade é a interpretação dos diagramas de modelagem. Onde eu preciso elaborar mais, para ficar mais simples ? Não, não. Não é simplificar o Diagrama. Se eu soubesse direitinho o que cada "coisa" representa num diagrama de modelagem, eu teria uma noção maior de como compreendê-lo. Andei lendo que para cada parte de um código "traduzido" numa modelagem, é usada um símbolo ou notação diferentes. Ex: Para definir uma Interface usa-se a notação (acho que é esse o nome) << Nome da Interface >> e pelo que entendi, quem a implementa, está associado com uma seta sólida (cinza clara) de ponta triangular vazada. Porém, num livro, vi que nesse caso a seta deve ser tracejada. Em outros diagramas, incluindo alguns postados por você mesmo, vejo pontas em balão, com um "X" (parece), vazados, preenchidos... São essas "manhas" que não tenho conhecimento pois, como disse, UML é muito novo pra mim ainda. Na minha opinião, se possível ou praticável, antes de engrenar o projeto, deveria/poderia ser feita uma enquete para vermos, em média, quem entende os diagramas pois se não houver entendimento na Engenharia da Aplicação, que ao meu ver, começa com a modelagem, tende-se a fazer má associação de idéias, conceitos e, consequentemente, problemas de interpretação dos códigos desenvolvidos sobre a modelagem. Compartilhar este post Link para o post Compartilhar em outros sites
Daniel Ribeiro 4 Denunciar post Postado Julho 27, 2010 Andei lendo que para cada parte de um código "traduzido" numa modelagem, é usada um símbolo ou notação diferentes. Ex: Para definir uma Interface usa-se a notação (acho que é esse o nome) << Nome da Interface >> e pelo que entendi, quem a implementa, está associado com uma seta sólida (cinza clara) de ponta triangular vazada. Porém, num livro, vi que nesse caso a seta deve ser tracejada. Em outros diagramas, incluindo alguns postados por você mesmo, vejo pontas em balão, com um "X" (parece), vazados, preenchidos... São essas "manhas" que não tenho conhecimento pois, como disse, UML é muito novo pra mim ainda. Na minha opinião, se possível ou praticável, antes de engrenar o projeto, deveria/poderia ser feita uma enquete para vermos, em média, quem entende os diagramas pois se não houver entendimento na Engenharia da Aplicação, que ao meu ver, começa com a modelagem, tende-se a fazer má associação de idéias, conceitos e, consequentemente, problemas de interpretação dos códigos desenvolvidos sobre a modelagem. Eu estou com um projeto - estagnado por falta de público alvo - de vídeo-aulas que visam a ensinar desde o básico da interpretação do UML até o mais avançado, levando em conta padrões de projeto e arquiteturas de sistemas. Talvez essa seja a hora de começar a publicar as vídeo-aulas. Sinto que a comunidade ainda está precisando de uma espécie de tutoria, precisa aprender bem os conceitos de design patterns e a interpretação dos diagramas, para podermos continuar esse projeto... Mas isso é só um achismo... Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Julho 27, 2010 Pois, feoliz ou infelizmente, é um achismo tão oportuno quanto verdadeiro. Seria de grande valia ainda agora que o projeto está na Movimentação de Idéias. Compartilhar este post Link para o post Compartilhar em outros sites
André Severino 3 Denunciar post Postado Julho 28, 2010 Jõao também não entendo muito sobre as estruturas, mas pelo que percebi na parte de view controler nos módulos, vai rolar um framework no desenvolvimento do projeto ? Compartilhar este post Link para o post Compartilhar em outros sites
R4ph 0 Denunciar post Postado Julho 28, 2010 Também não entendi muito bem. Seria de grande ajuda as videos-aulas. Compartilhar este post Link para o post Compartilhar em outros sites
h4v3st 1 Denunciar post Postado Julho 28, 2010 Jõao também não entendo muito sobre as estruturas, mas pelo que percebi na parte de view controler nos módulos, vai rolar um framework no desenvolvimento do projeto ? Não vamos trabalhar com nenhum framework. Compartilhar este post Link para o post Compartilhar em outros sites
Maykonn 6 Denunciar post Postado Julho 28, 2010 Jõao também não entendo muito sobre as estruturas, mas pelo que percebi na parte de view controler nos módulos, vai rolar um framework no desenvolvimento do projeto ? Não vamos trabalhar com nenhum framework. Nossa, fiquei alguns dias fora e ja estamos pensando nisso. Estamos acelerados... isso é bom! Eu também não gosto de utilizar frameworks, mas qual seria o principal motivo para que não façamos uso de algum? Realmente, apenas para saber. Compartilhar este post Link para o post Compartilhar em outros sites
Guustavo0 0 Denunciar post Postado Julho 28, 2010 Sera que alguém pode me explicar oque esta acontecendo, fiquei sem acessar a internet, por um dia e ja estou perdido :S Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Julho 28, 2010 Jõao também não entendo muito sobre as estruturas, mas pelo que percebi na parte de view controler nos módulos, vai rolar um framework no desenvolvimento do projeto ? Não, porém, estou terminando o core da aplicação, amanhã terei todo o núcleo que será utilizado para gerenciar todos os módulos. Estamos acelerados... isso é bom! :D Eu também não gosto de utilizar frameworks, mas qual seria o principal motivo para que não façamos uso de algum? Vamos escrever tudo, todos os processos; É melhor desenvolver a aplicação com sua própria modelagem e estrutura do que ter que adequá-la à estrutura de um framework existente. Sera que alguém pode me explicar oque esta acontecendo, fiquei sem acessar a internet, por um dia e ja estou perdido :S Esse tópico é referente à modelagem e arquitetura da aplicação, nesse caso, HMVC. Compartilhar este post Link para o post Compartilhar em outros sites
Maykonn 6 Denunciar post Postado Julho 28, 2010 Vamos escrever tudo, todos os processos; É melhor desenvolver a aplicação com sua própria modelagem e estrutura do que ter que adequá-la à estrutura de um framework existente. Concordo plenamente. Obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
sitegui 0 Denunciar post Postado Julho 29, 2010 Quando que vamos começar a tecer o código? Não vejo a hora :) Acho que as ideias principais já estão certas e podemos começar pelo menos com a parte de cadastro dos usuários. Compartilhar este post Link para o post Compartilhar em outros sites
Maykonn 6 Denunciar post Postado Julho 29, 2010 Quando que vamos começar a tecer o código? Não vejo a hora :) Acho que as ideias principais já estão certas e podemos começar pelo menos com a parte de cadastro dos usuários. Precisamos saber primeiro como é que vai rolar. Exemplo: (Desculpe caso tenham postado algo relativo a isso e eu não tenha percebido). Enfim, 1) Alguém documentaria, classes, etc (n pessoas) 2) Alguém codifica isso e envia ao repositório (n pessoas) Teremos divisões do tipo: 1) Fulano -> Codifica = tal Model, Controller 2) Ciclano -> Codifica = tal Controller Isso foi um exemplo, pois deveríamos ter algo assim, caso contrário não ficaria meio bagunçado? Compartilhar este post Link para o post Compartilhar em outros sites
Daniel Ribeiro 4 Denunciar post Postado Julho 29, 2010 Quando que vamos começar a tecer o código? Não vejo a hora :) Acho que as ideias principais já estão certas e podemos começar pelo menos com a parte de cadastro dos usuários. Precisamos saber primeiro como é que vai rolar... ...caso contrário não ficaria meio bagunçado? @Pessoal Só estou passando aqui para definir algumas dúvidas com relação ao início do desenvolvimento do projeto. A princípio, o João Batista Neto e eu são os que estão mais à frente do projeto na questão do desenvolvimento do core da aplicação. Todos vocês já devem saber que sem o desenvolvimento do core, é impossível que iniciemos qualquer trabalho de desenvolvimento. A questão, todavia, é a seguinte: o João desenvolveu o básico necessário para começarmos a trabalhar, e o código já está no repositório. Gostaria que todos vocês, a partir de agora, PRESTEM MUITA ATENÇÃO AO QUE IREI DIZER: O código está lá, mas não é pra sair programando às traças! Nós chegamos à conclusão de que TODOS deverão dedicar um certo tempo à leitura e à tentativa de entendimento do código já escrito. Relembrando: aquilo que foi feito pelo João é o básico, mas isso não quer dizer que está simples. Pelo contrário, temos mais de 20 exceções só para o protocolo HTTP. Acreditem no que eu estou dizendo: aqueles que desejam participar ativamente do desenvolvimento dos controladores básicos da aplicação - de início, os de interação com o usuário -, deverão se dedicar ao estudo da base já colocada no repositório. Eu e o João estaremos aqui sempre que vocês precisarem de ajuda para compreender o que foi escrito. O código está bem documentado e bem feito, portanto creio que não deverão encontrar muitas dificuldades com isso. Mais uma vez: qualquer, QUALQUER problema que encontrarem no intuito de aprenderem o core da aplicação, POSTEM SUAS DÚVIDAS AQUI para que possamos esclarecê-las. Outro lembrete importante é o seguinte: ultimamente tenho publicado alguns artigos no Portal iMasters sobre Design Patterns. A ideia é montar uma série de artigos para cobrir as design patterns mais utilizadas no mercado de trabalho e no meio do desenvolvimento web. Sugiro que comecem a ler o primeiro artigo, que por sinal caiu muito bem ao tempo de nosso desenvolvimento, que fala sobre a pattern que podemos ver logo de cara no código que o João escreveu: Chain of Responsibility. Para acessarem o artigo, basta clicarem aqui. Desejo a todos um bom estudo, análise e esclarecimento do que já foi feito. Compartilhar este post Link para o post Compartilhar em outros sites