Jump to content

Archived

This topic is now archived and is closed to further replies.

João Batista Neto

Construindo uma Rede Social

Recommended Posts

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.

 

Imagem Postada

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:

 

Imagem Postada

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:

 

Imagem Postada

 

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.

 

Share this post


Link to post
Share on other sites

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.

 

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.

 

 

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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 ?

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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 :)

Share this post


Link to post
Share on other sites

 

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.

Share this post


Link to post
Share on other sites

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...

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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 ?

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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!

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

 

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.

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.