From ecaf3eecdbeaf45aa38f822a78419455714207a2 Mon Sep 17 00:00:00 2001 From: pintergreg Date: Wed, 9 Oct 2024 15:33:51 +0200 Subject: [PATCH] Add interface is an agreement slide #21 --- lectures/09_interfaces.md | 55 +++- .../business-handshake-hands.svg | 284 ++++++++++++++++++ .../figures/publicdomainvectors/handshake.svg | 184 ++++++++++++ 3 files changed, 522 insertions(+), 1 deletion(-) create mode 100644 lectures/figures/publicdomainvectors/business-handshake-hands.svg create mode 100644 lectures/figures/publicdomainvectors/handshake.svg diff --git a/lectures/09_interfaces.md b/lectures/09_interfaces.md index fc02de8..4a076db 100644 --- a/lectures/09_interfaces.md +++ b/lectures/09_interfaces.md @@ -25,7 +25,13 @@ an interface is a shared boundary across which two or more separate components o ::::::::: :::::::::::: -## + +## interface is an agreement + +![](figures/publicdomainvectors/business-handshake-hands.svg){width=500} + + +# ![hexagonal arcitectural pattern (a.k.a. ports & adapters)](figures/hexagonal_interface.drawio.svg){width=700} @@ -119,6 +125,53 @@ end ::::::::: :::::::::::: +## frontend development + +:::::::::::: {.columns} +::::::::: {.column width="55%"} +a mock backend should be enough for a frontend developer to create and test the user statistics view of the user interface + +```json +{ + "name": "Marvin", + "id": 42, + "registration": "2019-10-02", + "progress": 0.92, + "activity": [ + [4,9,7,4,7,1,8], + [9,8,1,8,4,1,7], + [3,6,8,4,2,4,5], + [3,5,5,3,2,9,7] + ] +} +``` + +::: {.fragment .mt-2} +it may be presented to the customer + +::: {.text-smaller} +fast feedback, agile, and so on... +::: +::: + +::::::::: +::::::::: {.column width="45%"} +![](figures/user_stats.drawio.svg){width=300} +::::::::: +:::::::::::: + + +# do not change the interface (without notice) + +:::::::::::: {.columns} +::::::::: {.column width="50%" } +do no break the userland + +::::::::: +::::::::: {.column width="50%" } +![by ScotXW [CC BY-SA 3.0](https://creativecommons.org/licenses/by-sa/3.0/)](figures/borrowed/Linux kernel and OpenGL video games.svg) +::::::::: +:::::::::::: # NASA lost a 327 Million Dollar Mission diff --git a/lectures/figures/publicdomainvectors/business-handshake-hands.svg b/lectures/figures/publicdomainvectors/business-handshake-hands.svg new file mode 100644 index 0000000..a78c2c3 --- /dev/null +++ b/lectures/figures/publicdomainvectors/business-handshake-hands.svg @@ -0,0 +1,284 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lectures/figures/publicdomainvectors/handshake.svg b/lectures/figures/publicdomainvectors/handshake.svg new file mode 100644 index 0000000..3b8c4b3 --- /dev/null +++ b/lectures/figures/publicdomainvectors/handshake.svg @@ -0,0 +1,184 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +