# DMQ/mvvm

剖析vue实现原理，自己动手实现mvvm

Repository: https://github.com/DMQ/mvvm
Canonical: https://ross.abutalabs.com/products/mvvm
Language: CSS
License Family: other
Topics: mvvm, vue
Last push: 2023-03-08T02:36:19+00:00

## Health v2 (maintenance only)
Score: 32/100 (v2, computed 2026-09-03T02:39:23.370411+00:00)
- activity 0, release rhythm 35, longevity 100
- inputs: {"age_days": 3675, "days_push": 1275, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases, no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 5188, forks 1225 (observed 2026-08-28T04:09:11.879332+00:00)

## What it is
An educational project that dissects Vue's two-way data binding (MVVM) implementation and provides a simplified hand-written MVVM library built with Object.defineProperty. It includes a companion article explaining the Observer, Compile, and Watcher modules, plus a Vue 3 reactivity demo.

## Use cases
- understand how vue implements two-way data binding
- learn how to build a simple mvvm framework from scratch
- study Object.defineProperty getter/setter data hijacking
- read a simplified version of vue source code before diving into the real codebase
- see how observer, compiler, and watcher fit together in reactivity
- learn the vue3 proxy-based reactivity principle

## When to choose
- you want to deeply understand vue's reactivity internals
- you are learning frontend framework design patterns
- you need a minimal teaching implementation of mvvm data binding

## When to avoid
- you need a production-ready frontend framework
- you need array mutation handling, circular dependency support, or full vue features
- you want an actively maintained library with a license and community support

## Facets
- artifact type: learning-resource
- maturity: maintenance
- function: state-management, frontend-framework, developer-tools
- domain: web-development, frontend, tutorials, programming-languages
- platform: browser, cross-platform
- tags: mvvm, vue, data-binding, reactivity, educational, defineproperty, observer-pattern, nodejs

## Member repositories
- DMQ/mvvm (main) score 32

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:09:11.879332+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:01:46.318703+00:00, confidence not recorded.
  - readme: https://github.com/DMQ/mvvm (fetched 2026-08-28T04:09:11.879332+00:00, sha 263c24407d63)
- Data as of 2026-08-30T08:39:29.467469+00:00.
