feat(README): UML Diagram
This commit is contained in:
parent
8cf2692f65
commit
4956818d53
115
README.md
115
README.md
|
@ -24,38 +24,109 @@ cmake --build build
|
||||||
### UML Diagram
|
### UML Diagram
|
||||||
|
|
||||||
```plantuml
|
```plantuml
|
||||||
class Application {
|
@startuml
|
||||||
QGuiApplication app
|
allowmixing
|
||||||
QmlComponent component
|
set namespaceSeparator none
|
||||||
SportModel model
|
skinparam ranksep 10
|
||||||
FilterModel<SportModel> filter
|
|
||||||
|
package C++ <<Frame>> {
|
||||||
|
class Application {
|
||||||
|
QGuiApplication app
|
||||||
|
QmlComponent component
|
||||||
|
SportModel model
|
||||||
|
FilterModel<SportModel> filter
|
||||||
|
}
|
||||||
|
|
||||||
|
class SportModel {
|
||||||
|
String discipline
|
||||||
|
<EventInfo> model
|
||||||
|
request(String discipline)
|
||||||
|
parseData()
|
||||||
|
}
|
||||||
|
|
||||||
|
class FilterModel {
|
||||||
|
void setFilterFixedString(String)
|
||||||
|
}
|
||||||
|
|
||||||
|
class EventInfo {
|
||||||
|
String eventName
|
||||||
|
List<Competitor> competitors
|
||||||
|
}
|
||||||
|
|
||||||
|
class Competitor {
|
||||||
|
String name
|
||||||
|
String code
|
||||||
|
String noc
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class SportModel {
|
package QML <<Frame>> {
|
||||||
String discipline
|
|
||||||
<EventInfo> model
|
component EventInfoPage {
|
||||||
request(String discipline)
|
component [Page] as EIPage {
|
||||||
parseData()
|
component [ToolBar] as EIToolBar
|
||||||
|
component [ListView] as EILisView
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
EIToolBar -[hidden]- EILisView
|
||||||
|
|
||||||
|
component EventsPage {
|
||||||
|
component [Page] as EPage {
|
||||||
|
component [ToolBar] as EToolBar
|
||||||
|
component [Column] as EColumn {
|
||||||
|
component [Row] as ERow {
|
||||||
|
component [ComboBox] as EComboBox
|
||||||
|
component [TextField] as ETextField
|
||||||
|
}
|
||||||
|
component [ListView] as EListView
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
EToolBar -[hidden]- EColumn
|
||||||
|
ERow -[hidden]- EListView
|
||||||
|
|
||||||
|
component application.qml {
|
||||||
|
component ApplicationWindow {
|
||||||
|
component StackView
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class FilterModel {}
|
'application.qml -u- a
|
||||||
|
'Application -r- a
|
||||||
class EventInfo {
|
|
||||||
String eventName
|
|
||||||
List<Competitor> competitors
|
|
||||||
}
|
|
||||||
|
|
||||||
class Competitor {
|
|
||||||
String name
|
|
||||||
String code
|
|
||||||
String noc
|
|
||||||
}
|
|
||||||
|
|
||||||
Application *-- "1" SportModel
|
Application *-- "1" SportModel
|
||||||
Application *-- "1" FilterModel
|
Application *-- "1" FilterModel
|
||||||
|
|
||||||
|
FilterModel "1" o-- "1" SportModel
|
||||||
|
|
||||||
SportModel *-- "0..*" EventInfo
|
SportModel *-- "0..*" EventInfo
|
||||||
EventInfo *-- "0..*" Competitor
|
EventInfo *-- "0..*" Competitor
|
||||||
|
|
||||||
|
Application <.l. application.qml
|
||||||
|
StackView <.. EventInfoPage
|
||||||
|
StackView <.. EventsPage
|
||||||
|
|
||||||
|
EComboBox "request()" .> SportModel
|
||||||
|
|
||||||
|
EComboBox -[hidden]u- ETextField
|
||||||
|
|
||||||
|
SportModel "View" .> EListView
|
||||||
|
FilterModel "View" .> EListView
|
||||||
|
ETextField "Control" .r.> FilterModel
|
||||||
|
|
||||||
|
EILisView <. "View" Competitor
|
||||||
|
|
||||||
|
cloud api.olympics.com
|
||||||
|
() REST
|
||||||
|
REST - api.olympics.com
|
||||||
|
|
||||||
|
SportModel -( REST
|
||||||
|
|
||||||
|
application.qml -[hidden]u- Application
|
||||||
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
## Authors
|
## Authors
|
||||||
|
|
Loading…
Reference in a new issue