Eu “conversei” no fórum (“rapidamente”) com um de meus professores e ele me disse que a arquitetura que postei é possível do ponto de vista computacional.
Com relação ao MVC como conhecido por todos, ele mostrou que existem desvantagens, como em qualquer escolha e ele me mostrou uma arquitetura Publish/Subscribe, eu não sei como explicar direito mas é bem legal, lembra bastante a internet das coisas, mas se entendi direito seria para SISTEMAS distribuídos, no caso eu falo de SERVIÇOS distribuídos.
Ele também explicou que o WhatsApp poderia usar MVC, mas por causa da complexidade (levando em conta os requisitos não funcionais) do sistema, eles utilizam outros padrões.
A partir daqui, encerro o assunto referente a consulta que realizei junto ao professor, tanto por ética quanto por responsabilidade.
A partir daqui: são meras observações pessoais, minhas (com redundância mesmo), portanto podem estar erradas.
Para tanto, os modelos de comparação são o que postei acima:
E:
A observação pessoal é:
Olhei o funcionamento básico da arquitetura do WhatsApp.
O que eu percebi é que o whatsapp funciona basicamente como um chat.
Por que esta comparação:
-
os dados não ficam em um servidor, este é apenas um mediador;
-
os dados ficam armazenados com os clientes;
-
a função do servidor(mediador) seria basicamente encontrar os destinatários e redistribuir os dados.
Assim, a necessidade é atendida.
Contudo, a arquitetura que eu mostrei tem um formato de árvore, logo não seria aplicada ao WhatsApp.
Seria algo próximo disso:

No WhatsApp, a arquitetura se “assemelha” a um Nó, que é compartilhado por todos, além disso, os dispositivos móveis estão ACUMULANDO responsabilidade, pois eles são ao mesmo tempo view e servidor (no sentido de banco de dados).
Para o WhatsApp, “vejo” a arquitetura como algo próximo da imagem a seguir, onde o servidor está no centro:

Esta correta?
Sim, pois atende a necessidade da aplicação, a forma como ela foi pensada: se não temos servidor, jogue pros clientes.
É interessante, pois parando pra pensar, motores de busca são semelhantes a mediadores.
Poderia ser aplicada para o youtube, Guj, Mercado Livre, etc …?
Na minha avaliação, não, pois as informações ficam armazenadas no servidor do site e não com seus usuários.
Assim, em se tratando de uma aplicaçao que se assemelha a um chat(mediador), com direito a fotos, chamada e tal, sim, a arquitetura é interessante, pois não precisa de um servidor para persistir os dados, mas se eu for abrir um e-commerce não vou me espelhar nestas aplicações, já que a persistência dos dados está com usuários.
Além disso há o incomodo de ficarmos armazendo o conteúdo do WhatsApp (fotos/audios/videos), bom por um lado, eu daria cerca de 5% de importância pro cliente e 100% pra aplicação, pois isto ao meu ver foi pensado para economizar com servidor.
Deu certo?
Deu, mas é restritivo de+, (função mediador, mesmo que temporariamente segure uma informação).
Mas sim, é interessante, pois atende a finalidade.
Ambas realizam isto:

Ao interligar os nós, independente da forma de armazenamento, haveria a configuração da web.
No final, prevalece a finalidade e não a separação de responsabilidades, cabendo pesar vantagens e desvantagens.
Se alguém estranhou as imagens apontadas, gostaria de lembrar que muitos estudos se baseiam na análise da natureza.
Será que árvores não resolvem problemas de crescimento/ “escalabilidade” com o “surgimento” de novas raízes?
Mas ai já é coisa de botânico e de quem gosta de árvores sejam elas binárias ou não.
Té+