Проектирование иерархии моделей данных в многослойном приложении

При проектировании многослойной архитектуры приложения одной из главных задач является формирование набора моделей данных каждого слоя и определение порядка взаимодействия моделей данных между собой. Под взаимодействием понимаются потоки данных, передаваемые из одной модели данных в другую. В общем случае взаимодействие между моделями данных двунаправленное. Рассмотрим модель данных application model, которая потребуется в дальнейшем изложении и которая используется в паттерне CQRS. Реализация архитектурного паттерна CQRS, используемого в приложении для функционала application logic, представляет собой набор классов наследников базовых классов QueryHandler / CommandHandler и набор классов данных, которые являются наследниками базовых классов Query / Command. Классы наследники Query / Command представляют собой модель данных application logic. Такую модель данных логично назвать application model. Используя application model и другие известные модели данных слоёв приложения можно построить полную схему моделей данных многослойной архитектуры приложения.

https://habr.com/ru/articles/1026944/

#многослойная_архитектура_приложения #модель_данных #mvvm #c# #java #c++

Проектирование иерархии моделей данных в многослойном приложении

При проектировании многослойной архитектуры приложения одной из главных задач является формирование набора моделей данных каждого слоя и определение порядка взаимодействия моделей данных между собой....

Хабр
.NET MAUI State Management: From ViewModels to App Stores | Syncfusion Blogs

Learn production-ready state management in .NET MAUI using MVVM, VSM, DI app-wide stores, and MVU, plus guidance on when to use each.

Syncfusion
C# で MVVM を学ぶならまずこれ!CommunityToolkit.Mvvm で理解する基本の流れ - Qiita

「MVVMって聞いたことあるけど、結局どう使えばいいの?」 「ViewModel と Model の違いがよく分からない…」 そんなふうに感じたことはありませんか。 この記事では、C# × MVVM をこれから学びたい人に向けて、できるだけシンプルに、そして“実際に手を動か...

Qiita

Почему многие неверно реализуют MVVM или способы создания абстракций

Привет, Хабр! Меня зовут Кирилл Маканков, я iOS-разработчик в ПСБ. Сегодня хочу поговорить про особенности реализации MVVM. Не с практической, а с теоретической стороны. С практической стороны этот архитектурный шаблон давно уже объезжен и в хвост, и в гриву. А вот теоретических исследований, особенно применимых к Swift (и в общем, и к SwiftUI в частности), не так уж и много. Давайте вместе попробуем закрыть этот пробел и обосновать с теоретической точки зрения те или иные вариации реализаций в нашей ежедневной работе. Мобильным разработчикам на ObjC, Java и Kotlin данное исследование и обсуждение тоже будет полезно. Присоединяйтесь! Если Вы уже хорошо знакомы с MVVM, то в конце приведен опрос об используемой лично Вами реализации. Давайте вместе определим, какая из реализаций самая популярная.

https://habr.com/ru/companies/psb/articles/1010690/

#swift #swift__разработка #swift_development #абстракция #mvvm #архитектура #архитектура_приложений #архитектура_androidприложений

Почему многие неверно реализуют MVVM или способы создания абстракций

Привет, Хабр! Меня зовут Кирилл Маканков, я iOS-разработчик в ПСБ.   Сегодня хочу поговорить про особенности реализации MVVM. Не с практической, а с теоретической стороны. С практической...

Хабр

Coordinator в iOS: как я перестал бояться кнопки «Назад» и полюбил навигацию

Эта статья - логическое продолжение нашего погружения в архитектуру. Если в первой части мы навели порядок внутри «черного ящика» под названием ViewModel, то здесь мы выйдем за его пределы. Вы узнаете, как выпилить логику переходов из ViewControllers и ViewModels, почему вызов navigationController?.pushViewController() прямо в экшене кнопки - это архитектурный тупик, и как построить систему навигации, которая не превратит ваш проект в спагетти при добавлении десятого экрана. Мы разберем концепцию Child Coordinators, решим проблему утечек памяти (спойлер: системная кнопка "Назад" - ваш враг) и обсудим, выжил ли этот паттерн в эпоху SwiftUI. Продолжим

https://habr.com/ru/articles/991812/

#ios #swift #архитектор #mvvm #coordinator #mobile

Coordinator в iOS: как я перестал бояться кнопки «Назад» и полюбил навигацию

Эта статья - логическое продолжение нашего погружения в архитектуру. Если в первой части мы навели порядок внутри «черного ящика» под названием ViewModel, то здесь мы выйдем за его пределы. Вы...

Хабр

MVVM-курильщика: почему ваша ViewModel — это помойка на 2000 строк, и как это исправить

Если вы когда-нибудь открывали проект, где ViewModel превратилась в свалку логики, навигации и форматирования дат - поздравляю, вы видели MVVM-курильщика. Рассказываю, почему «чистый» MVVM из учебников рассыпается в бою, как превратить ViewModel в машину состояний вместо мусорного ведра, и почему import UIKit в вашей VM - это диагноз. Без воды, с примерами кода и болью. Эта статья - не очередной пересказ документации. Вы научитесь разделять данные и их представление так, чтобы тесты писались сами собой, а ваши коллеги не проклинали вас на код-ревью. Продолжим

https://habr.com/ru/articles/991252/

#swift #swiftui #mvvm #архитектура #ios

MVVM-курильщика: почему ваша ViewModel — это помойка на 2000 строк, и как это исправить

Если вы когда-нибудь открывали проект, где ViewModel превратилась в свалку логики, навигации и форматирования дат - поздравляю, вы видели MVVM-курильщика. Рассказываю, почему «чистый» MVVM из...

Хабр

Технический гайд по сторис — часть 3: как мы написали свою библиотеку

Привет! Меня зовут Владислав Фальзан, я работаю android-разработчиком в М2. Наша команда мобильной разработки развивает приложение — онлайн-платформу для решения вопросов с недвижимостью. Основные пользователи приложения — физические лица (B2C) и риелторы (B2B2C). Эта статья — технический гайд для android-разработчиков о том, как использовать нашу новую библиотеку по сторис с деталями и нюансами реализации. Из статьи вы поймете: как использовать библиотеку на полную мощность для своих задач и как она устроена изнутри. Для удобства изучения статьи я решил разбить ее на блоки:

https://habr.com/ru/companies/m2tech/articles/980424/

#android #ddd #compose #stories #mvvm #kotlin #coroutines #clean_architecture #room

Технический гайд по сторис — часть 3: как мы написали свою библиотеку

Привет! Меня зовут Владислав Фальзан, я работаю android-разработчиком в М2. Наша команда мобильной разработки развивает приложение — онлайн-платформу для решения вопросов с недвижимостью. Основные...

Хабр
Implementing Cross-Platform In-App Billing in .NET MAUI Applications - .NET Blog

Learn how to implement in-app purchases in your .NET MAUI apps with our new cross-platform billing sample for Android, iOS, Mac Catalyst, and Windows.

.NET Blog
WPF + MVVM https://leanpub.com/set/leanpub/full-testing-csharp by EngineerSpock is the featured Track of online courses on the Leanpub homepage! https://leanpub.com #WPF #MVVM #programming

💾 𝐼𝑠 𝑆𝑤𝑖𝑓𝑡𝐷𝑎𝑡𝑎 𝑖𝑛𝑐𝑜𝑚𝑝𝑎𝑡𝑖𝑏𝑙𝑒 𝑤𝑖𝑡ℎ 𝑀𝑉𝑉𝑀? by Matteo Manferdini

Thinking MVVM and SwiftData don't mix? Learn how proper understanding of SwiftUI's core principles makes them perfectly compatible.

#Swift #SwiftData #MVVM #iOSDev

https://matteomanferdini.com/swiftdata-mvvm/

Is SwiftData incompatible with MVVM? The standard answer betrays a deep misunderstanding of 3 key principles that drive SwiftUI’s architecture

Some developers claim that MVVM is incompatible with SwiftUI. However, with a proper understanding of SwiftUI, it is possible to address any criticism and remove the boilerplate code shown in many online blogs. In this article, we will explore some fundamental yet ignored SwiftUI features to understand how to replicate its integration with SwiftData inside ... Read more

Matteo Manferdini