image

Bootcamps ilimitados + curso de inglรชs para sempre

80
%OFF
Article image

JS

Julia Santana11/04/2024 00:44
Compartilhe

Arquitetura MVVM

    ๐•๐จ๐œ๐žฬ‚ ๐ฃ๐šฬ ๐จ๐ฎ๐ฏ๐ข๐ฎ ๐Ÿ๐š๐ฅ๐š๐ซ ๐ฌ๐จ๐›๐ซ๐ž ๐š ๐€๐ซ๐ช๐ฎ๐ข๐ญ๐ž๐ญ๐ฎ๐ซ๐š ๐Œ๐•๐•๐Œ?

    MVVM, ou Model-View-ViewModel, รฉ um padrรฃo de arquitetura de software que separa a lรณgica de apresentaรงรฃo, da lรณgica e das regras de validaรงรฃo do aplicativo, utilizada em apps .NET, especialmente em plataformas como WPF (Windows Presentation Foundation), Xamarin e .NET MAUI (Multi-platform App UI).ย 

    ๐๐š๐ฌ๐ข๐œ๐š๐ฆ๐ž๐ง๐ญ๐ž:

    ๐™ˆ๐™ค๐™™๐™š๐™ก:ย Representa os dados, a lรณgica e as regras de validaรงรฃo do aplicativo. Ele nรฃo tem conhecimento sobre a interface do usuรกrio (UI) ou como os dados serรฃo apresentados. Pode incluir classes para acessar bancos de dados, serviรงos da web ou qualquer outra fonte de dados.

    ๐™‘๐™ž๐™š๐™ฌ:ย ร‰ a camada de interface do usuรกrio que apresenta os dados ao usuรกrio final. Ela รฉ passiva e apenas exibe os dados e interage com o usuรกrio.

    Na arquitetura MVVM, a View รฉ mantida o mais livre possรญvel de lรณgica do aplicativo.

    ๐™‘๐™ž๐™š๐™ฌ๐™ˆ๐™ค๐™™๐™š๐™ก:Atua como um intermediรกrio entre o Model e a View. Ele contรฉm a lรณgica do aplicativo e transformaรงรฃo de dados para serem exibidos na View, expรตe os dados da Model ร  View atravรฉs de propriedades e comandos. Tambรฉm manipula as interaรงรตes do usuรกrio e as "traduz" em aรงรตes no Model.

    "๐™–๐™ ๐™…๐™ชฬ๐™ก๐™ž๐™–, ๐™ฆ๐™ช๐™–๐™ž๐™จ ๐™ค๐™จ ๐™—๐™š๐™ฃ๐™š๐™›๐™žฬ๐™˜๐™ž๐™ค๐™จ ๐™™๐™– ๐™–๐™ง๐™ฆ๐™ช๐™ž๐™ฉ๐™š๐™ฉ๐™ช๐™ง๐™– ๐™ˆ๐™‘๐™‘๐™ˆ ๐™š๐™ข ๐™–๐™ฅ๐™ก๐™ž๐™˜๐™–๐™ฉ๐™ž๐™ซ๐™ค๐™จ .๐™‰๐™€๐™? "

    ย Simples, imagine que vocรช estรก construindo uma casa (sim, uma casa de aplicativos!) No MVVM, vocรช separa as responsabilidades como se estivesse construindo diferentes andares:

    ๐™‡๐™คฬ๐™œ๐™ž๐™˜๐™– ๐™™๐™š ๐™–๐™ฅ๐™ง๐™š๐™จ๐™š๐™ฃ๐™ฉ๐™–๐™˜ฬง๐™–ฬƒ๐™ค: ร‰ como montar uma festa no andar tรฉrreo da casa, onde vocรช arruma os mรณveis para deixar tudo bonito. ร‰ o que dรก vida ร  sua interface do usuรกrio.

    ๐‘ณ๐’ฬ๐’ˆ๐’Š๐’„๐’‚ ๐’…๐’† ๐’๐’†๐’ˆ๐’ฬ๐’„๐’Š๐’๐’”: ร‰ o coraรงรฃo da casa, onde acontecem todas as decisรตes importantes. Aqui, vocรช lida com processamento de dados, validaรงรตes e regras de negรณcios - รฉ como preparar os ingredientes na cozinha para fazer a mรกgica acontecer.

    ๐‘ฐ๐’๐’•๐’†๐’“๐’‡๐’‚๐’„๐’† ๐’…๐’ ๐’–๐’”๐’–๐’‚ฬ๐’“๐’Š๐’: ร‰ o andar superior, com uma vista incrรญvel! Aqui, as pessoas veem e interagem com o seu aplicativo - รฉ onde os botรตes sรฃo clicados, as coisas se movem e as informaรงรตes sรฃo exibidas. ร‰ a janela para o mundo do seu aplicativo.

    ๐™‹๐™ค๐™ง ๐™ฆ๐™ช๐™š ๐™– ๐™–๐™ง๐™ฆ๐™ช๐™ž๐™ฉ๐™š๐™ฉ๐™ช๐™ง๐™– ๐™ˆ๐™‘๐™‘๐™ˆ ๐™šฬ ๐™ฉ๐™–ฬƒ๐™ค ๐™ก๐™š๐™œ๐™–๐™กโ“

    ย Porque ela torna a testabilidade uma brisa, permitindo que vocรช verifique cada "andar" separadamente para garantir que tudo esteja funcionando perfeitamente, como inspecionar cada cรดmodo para garantir que tudo esteja no lugar certo.ย 

    ย Alรฉm disso, facilita a manutenรงรฃo, pois vocรช pode fazer alteraรงรตes sem bagunรงar todos os componentes - (รฉ como redecorar uma sala sem afetar o resto da casa.) E o melhor de tudo, promove a reutilizaรงรฃo de cรณdigo, permitindo que vocรช use os ViewModels como designs reutilizรกveis em diferentes partes do seu aplicativo, como usar seu design de sala favorito em todas as casas que vocรช constrรณi.

    me siga no Instagram para mais dicas:

    https://www.instagram.com/p/C5l1h8KRi6O/?igsh=cTJjOGt1bjlkM3l0

    Compartilhe
    Recomendados para vocรช
    Microsoft 50 Anos - Prompts Inteligentes
    Microsoft 50 Anos - GitHub Copilot
    Microsoft 50 Anos - Computaรงรฃo em Nuvem com Azure
    Comentรกrios (1)
    Thiago Teixeira
    Thiago Teixeira - 11/04/2024 09:30

    Back in a day quando eu comecei a ouvir sobre MVVM em Android eu nรฃo entendia direito sobre isso, todos os tutoriais eram extremamente complexos utilizando Room, Corroutines Dagger e eu nรฃo consegui ver muito bem onde "comeรงava" o MVVM principalmente essa parte da view nรฃo ter conhecimento da model. Atรฉ fazer um aplicativo usando sรณ o MVVM long story short eu entendi assim:


    View รฉ UI onde o usuรกrio interage


    View-Model รฉ onde tem todos os mรฉtodos, tratamento dos dados, chamadas de API's e por รบltimo, porรฉm nรฃo menos importante, nรฃo tem referรชncia da view


    Model รฉ onde chama(expรตem) a View-Model utilizando as regras de negรณcio (if elses)


    Se eu estiver errado por favor nรฃo exite em corrigir.