Nextjs-boilerplate/catalog/docs/mvvm/application-layer-class-diagram.puml

47 lines
881 B
Plaintext

@startuml Application layer class diagram
package SomeDomain {
class View {}
note top
Responsible for UI
end note
class IVM {}
note bottom
Covention between UI and UI logics
end note
View ..> IVM: has
class VM {
IVM useVM()
}
note top
Handles UI logic based on IVM interface
end note
VM --> IVM: is
class BaseVM {}
note bottom
Common methods and tools for ui logics to use in VMs
end note
VM ..|> BaseVM
class Controller {}
note bottom
Handles Data logics and connect to business logics
end note
VM o..> Controller: has
class Store {}
Controller o..> Store
VM o..> Store
class SomeHigherLevelView {}
note top
This is a higher level component which needs to use that view so
it connects View to VM
end note
SomeHigherLevelView --> VM: has
SomeHigherLevelView --> View: has
}
@enduml