From 530a8479c195a50709f2263368373d5d844117cd Mon Sep 17 00:00:00 2001 From: Pc Date: Sun, 26 Feb 2023 23:09:36 +0330 Subject: [PATCH] chore: Update diagram vertical slice architecture --- README.md | 2 +- assets/Vertical-Slice-Architecture.jpg | Bin 30952 -> 0 bytes assets/vertical-slice-architecture.excalidraw | 431 ++++++++++++++++++ assets/vertical-slice-architecture.png | Bin 0 -> 70320 bytes 4 files changed, 432 insertions(+), 1 deletion(-) delete mode 100644 assets/Vertical-Slice-Architecture.jpg create mode 100644 assets/vertical-slice-architecture.excalidraw create mode 100644 assets/vertical-slice-architecture.png diff --git a/README.md b/README.md index a74af63..e4a16ef 100644 --- a/README.md +++ b/README.md @@ -119,7 +119,7 @@ When adding or changing a feature in an application in n-tire architecture, we a With this approach, each of our vertical slices can decide for itself how to best fulfill the request. New features only add code, we're not changing shared code and worrying about side effects. -![](./assets/Vertical-Slice-Architecture.jpg) +![](./assets/vertical-slice-architecture.png) Instead of grouping related action methods in one controller, as found in traditional ASP.net controllers, I used the [REPR pattern](https://deviq.com/design-patterns/repr-design-pattern). Each action gets its own small endpoint, consisting of a route, the action, and an `IMediator` instance (see [MediatR](https://github.com/jbogard/MediatR)). The request is passed to the `IMediator` instance, routed through a [`Mediatr pipeline`](https://lostechies.com/jimmybogard/2014/09/09/tackling-cross-cutting-concerns-with-a-mediator-pipeline/) where custom [middleware](https://github.com/jbogard/MediatR/wiki/Behaviors) can log, validate and intercept requests. The request is then handled by a request specific `IRequestHandler` which performs business logic before returning the result. diff --git a/assets/Vertical-Slice-Architecture.jpg b/assets/Vertical-Slice-Architecture.jpg deleted file mode 100644 index fff1aec9e99118c077a5b496d76c89da3d2cab07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30952 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 diff --git a/assets/vertical-slice-architecture.excalidraw b/assets/vertical-slice-architecture.excalidraw new file mode 100644 index 0000000..f395eb0 --- /dev/null +++ b/assets/vertical-slice-architecture.excalidraw @@ -0,0 +1,431 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://excalidraw.com", + "elements": [ + { + "id": "80OGzNPG6Gk8NAvbV3XaF", + "type": "rectangle", + "x": 648, + "y": 187, + "width": 538, + "height": 62, + "angle": 0, + "strokeColor": "#000000", + "backgroundColor": "#5dade2", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "groupIds": [], + "roundness": { + "type": 3 + }, + "seed": 246982778, + "version": 236, + "versionNonce": 69633510, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "46GLDhDwmnc8RGy3v8OK8" + } + ], + "updated": 1677440080893, + "link": null, + "locked": false + }, + { + "id": "46GLDhDwmnc8RGy3v8OK8", + "type": "text", + "x": 897.848014831543, + "y": 201.2, + "width": 38.30397033691406, + "height": 33.6, + "angle": 0, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "groupIds": [], + "roundness": null, + "seed": 2080176422, + "version": 133, + "versionNonce": 467252090, + "isDeleted": false, + "boundElements": null, + "updated": 1677440080893, + "link": null, + "locked": false, + "text": "Api", + "fontSize": 28, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "80OGzNPG6Gk8NAvbV3XaF", + "originalText": "Api" + }, + { + "type": "rectangle", + "version": 339, + "versionNonce": 2033133178, + "isDeleted": false, + "id": "nZuYK7wbLObwRvpRRLHay", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 648, + "y": 263, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 538, + "height": 62, + "seed": 287502970, + "groupIds": [], + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "OALII-DXtatRPgn_EkHfp" + } + ], + "updated": 1677440080893, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 242, + "versionNonce": 1368921638, + "isDeleted": false, + "id": "OALII-DXtatRPgn_EkHfp", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 845.628044128418, + "y": 277.2, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 142.74391174316406, + "height": 33.6, + "seed": 1016531494, + "groupIds": [], + "roundness": null, + "boundElements": null, + "updated": 1677440080893, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 1, + "text": "Application", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "nZuYK7wbLObwRvpRRLHay", + "originalText": "Application" + }, + { + "type": "rectangle", + "version": 271, + "versionNonce": 1144538938, + "isDeleted": false, + "id": "za_4vz64MSfPF5TWmD7wj", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 650, + "y": 338, + "strokeColor": "#000000", + "backgroundColor": "#fa5252", + "width": 538, + "height": 62, + "seed": 676018342, + "groupIds": [], + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "6CqYCSOKHqhqJ8nf4b-Sv" + } + ], + "updated": 1677440080893, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 185, + "versionNonce": 1874747750, + "isDeleted": false, + "id": "6CqYCSOKHqhqJ8nf4b-Sv", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 816.618049621582, + "y": 352.2, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 204.76390075683594, + "height": 33.6, + "seed": 1067355322, + "groupIds": [], + "roundness": null, + "boundElements": null, + "updated": 1677440080893, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 1, + "text": "Infrastructure", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "za_4vz64MSfPF5TWmD7wj", + "originalText": "Infrastructure" + }, + { + "type": "rectangle", + "version": 323, + "versionNonce": 987713530, + "isDeleted": false, + "id": "t2sZwLLvmq3y2ndIbEomB", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 648, + "y": 413, + "strokeColor": "#000000", + "backgroundColor": "#58ccae", + "width": 538, + "height": 62, + "seed": 1173221990, + "groupIds": [], + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "b3wdaWjaVmgHpzMD26uKD" + } + ], + "updated": 1677440080893, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 223, + "versionNonce": 1635337382, + "isDeleted": false, + "id": "b3wdaWjaVmgHpzMD26uKD", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 886.5500106811523, + "y": 427.2, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 60.89997863769531, + "height": 33.6, + "seed": 1307397882, + "groupIds": [], + "roundness": null, + "boundElements": null, + "updated": 1677440080893, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 1, + "text": "Core", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "t2sZwLLvmq3y2ndIbEomB", + "originalText": "Core" + }, + { + "id": "FQZImjU2-VUOATU9Yeyly", + "type": "rectangle", + "x": 678, + "y": 154, + "width": 48, + "height": 361, + "angle": 0, + "strokeColor": "#000000", + "backgroundColor": "#f9e79f", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "roundness": { + "type": 3 + }, + "seed": 1254939642, + "version": 185, + "versionNonce": 19349690, + "isDeleted": false, + "boundElements": [], + "updated": 1677440080893, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 224, + "versionNonce": 1119033722, + "isDeleted": false, + "id": "_Vw9EnXAyzxRDEzXCTfeL", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 743, + "y": 153.5, + "strokeColor": "#000000", + "backgroundColor": "#f9e79f", + "width": 48, + "height": 361, + "seed": 523058342, + "groupIds": [], + "roundness": { + "type": 3 + }, + "boundElements": null, + "updated": 1677440080893, + "link": null, + "locked": false + }, + { + "id": "hyJiOwPt7LFndn5R0xgfL", + "type": "text", + "x": 637.1248451774691, + "y": 317.9455509364301, + "width": 130.73194885253906, + "height": 33.6, + "angle": 4.707547804955119, + "strokeColor": "#000000", + "backgroundColor": "#f9e79f", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "groupIds": [], + "roundness": null, + "seed": 678740006, + "version": 245, + "versionNonce": 1220596518, + "isDeleted": false, + "boundElements": null, + "updated": 1677440080893, + "link": null, + "locked": false, + "text": "Feature 1", + "fontSize": 28, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Feature 1" + }, + { + "type": "text", + "version": 179, + "versionNonce": 1053153850, + "isDeleted": false, + "id": "7KOHd5JA_wVMmwXPVT1N3", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 4.7123889803846915, + "x": 695.6880416870117, + "y": 313.20000000000005, + "strokeColor": "#000000", + "backgroundColor": "#f9e79f", + "width": 143.07994079589844, + "height": 33.6, + "seed": 1387191482, + "groupIds": [], + "roundness": null, + "boundElements": null, + "updated": 1677440080893, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 1, + "text": "Feature 2", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Feature 2" + }, + { + "id": "SuFNrbzZGowiIybusnadN", + "type": "text", + "x": 748, + "y": 96, + "width": 360.47186279296875, + "height": 33.6, + "angle": 0, + "strokeColor": "#000000", + "backgroundColor": "#f9e79f", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "groupIds": [], + "roundness": null, + "seed": 2006173690, + "version": 162, + "versionNonce": 1556577894, + "isDeleted": false, + "boundElements": null, + "updated": 1677440080893, + "link": null, + "locked": false, + "text": "Vertical Slice Architecture", + "fontSize": 28, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Vertical Slice Architecture" + } + ], + "appState": { + "gridSize": null, + "viewBackgroundColor": "#ffffff" + }, + "files": {} +} \ No newline at end of file diff --git a/assets/vertical-slice-architecture.png b/assets/vertical-slice-architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..b5b30d11fe3e3550f729ac2655d2b3d2bbcddd4a GIT binary patch literal 70320 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 z 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