Skip to content

Commit

Permalink
Use consistent terminology around MVVM (#11647)
Browse files Browse the repository at this point in the history
MVVM's explanation is linked to source from
[Wiki](https://en.wikipedia.org/wiki/Model–view–viewmodel), where
mentioned that MVVM is an **architectural pattern**, not **design
pattern**. To be consistent, let's update that in file.

---------

Co-authored-by: Parker Lougheed <[email protected]>
  • Loading branch information
iveloff-developer and parlough authored Feb 3, 2025
1 parent 3e29436 commit b16becd
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions src/content/app-architecture/guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,16 +42,17 @@ This guide recommends you split your application into the following components:

### MVVM

If you've encountered the [Model-View-ViewModel design pattern][] (MVVM),
this will be familiar. MVVM is a design pattern that separates a feature of an
application into three parts:
If you've encountered the [Model-View-ViewModel architectural pattern][] (MVVM),
this will be familiar.
MVVM is an architectural pattern that separates a
feature of an application into three parts:
the `Model`, the `ViewModel` and the `View`.
Views and view models make up the UI layer of an application.
Repositories and services represent the data of an application,
or the model layer of MVVM.
Each of these components is defined in the next section.

<img src='/assets/images/docs/app-architecture/guide/mvvm-intro-with-layers.png' alt="MVVM design pattern">
<img src='/assets/images/docs/app-architecture/guide/mvvm-intro-with-layers.png' alt="MVVM architectural pattern">

Every feature in an application will contain one view to describe the UI and
one view model to handle logic,
Expand All @@ -76,6 +77,8 @@ The domain layer contains additional components often called *interactors* or
*use-cases*. The domain layer is covered later in this guide.
:::

[Model-View-ViewModel architectural pattern]: https://en.wikipedia.org/wiki/Model–view–viewmodel

## UI layer

An application's UI layer is responsible for interacting with the user.
Expand Down Expand Up @@ -338,7 +341,6 @@ This approach is flexible and extendable,
but it requires greater diligence to maintain order.

[Separation-of-concerns]: https://en.wikipedia.org/wiki/Separation_of_concerns
[Model-View-ViewModel design pattern]: https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93viewmodel
[command pattern]: https://en.wikipedia.org/wiki/Command_pattern
[Repository]: https://martinfowler.com/eaaCatalog/repository.html

Expand Down

0 comments on commit b16becd

Please sign in to comment.