diff --git a/content/roadmaps.json b/content/roadmaps.json index 8c546abff..dbc6d319f 100644 --- a/content/roadmaps.json +++ b/content/roadmaps.json @@ -953,5 +953,54 @@ "id": "software-architect", "metaPath": "/roadmaps/114-software-architect/meta.json", "isUpcoming": false + }, + { + "seo": { + "title": "Software Design and Architecture Roadmap", + "description": "Learn software design and architecture with this step by step guide and resources.", + "keywords": [ + "guide to learn software design and architecture", + "software design roadmap", + "software architecture roadmap", + "software design and architecture roadmap", + "modern software design and architecture roadmap", + "fullstack software design and architecture roadmap", + "design and architecture roadmap", + "scalable design roadmap", + "software design patterns roadmap", + "software architecture patterns roadmap", + "design architecture patterns roadmap", + "application architectures", + "software architecture guide" + ] + }, + "title": "Software Design and Architecture", + "description": "Step by step guide to learn software design and architecture", + "featuredTitle": "Software Design and Architecture", + "type": "tool", + "featuredDescription": "Guide to learn software design and architecture", + "isTextHeavy": false, + "isCommunity": false, + "isNew": true, + "isUpcoming": false, + "featured": true, + "jsonUrl": "/project/software-design-architecture.json", + "author": { + "name": "Kamran Ahmed", + "url": "https://twitter.com/kamranahmedse" + }, + "pdfUrl": "/pdfs/software-design-architecture.pdf", + "contentPathsFilePath": "/roadmaps/115-software-design-architecture/content-paths.json", + "relatedRoadmaps": [ + "backend", + "software-architect", + "devops", + "python", + "java", + "nodejs", + "golang" + ], + "id": "software-design-architecture", + "metaPath": "/roadmaps/115-software-design-architecture/meta.json" } ] \ No newline at end of file diff --git a/content/roadmaps/115-software-design-architecture/meta.json b/content/roadmaps/115-software-design-architecture/meta.json new file mode 100644 index 000000000..94bbc35ec --- /dev/null +++ b/content/roadmaps/115-software-design-architecture/meta.json @@ -0,0 +1,47 @@ +{ + "seo": { + "title": "Software Design and Architecture Roadmap", + "description": "Learn software design and architecture with this step by step guide and resources.", + "keywords": [ + "guide to learn software design and architecture", + "software design roadmap", + "software architecture roadmap", + "software design and architecture roadmap", + "modern software design and architecture roadmap", + "fullstack software design and architecture roadmap", + "design and architecture roadmap", + "scalable design roadmap", + "software design patterns roadmap", + "software architecture patterns roadmap", + "design architecture patterns roadmap", + "application architectures", + "software architecture guide" + ] + }, + "title": "Software Design and Architecture", + "description": "Step by step guide to learn software design and architecture", + "featuredTitle": "Software Design and Architecture", + "type": "tool", + "featuredDescription": "Guide to learn software design and architecture", + "isTextHeavy": false, + "isCommunity": false, + "isNew": true, + "isUpcoming": false, + "featured": true, + "jsonUrl": "/project/software-design-architecture.json", + "author": { + "name": "Kamran Ahmed", + "url": "https://twitter.com/kamranahmedse" + }, + "pdfUrl": "/pdfs/software-design-architecture.pdf", + "contentPathsFilePath": "./content-paths.json", + "relatedRoadmaps": [ + "backend", + "software-architect", + "devops", + "python", + "java", + "nodejs", + "golang" + ] +} diff --git a/lib/roadmap.ts b/lib/roadmap.ts index ed7b71e3d..71409ab5e 100644 --- a/lib/roadmap.ts +++ b/lib/roadmap.ts @@ -49,5 +49,5 @@ export function getFeaturedRoadmaps(): RoadmapType[] { } export function isInteractiveRoadmap(id: string): boolean { - return ['frontend', 'backend', 'devops', 'react', 'vue', 'python', 'java', 'blockchain', 'golang', 'javascript', 'nodejs', 'qa', 'design-system', 'angular', 'software-architect'].includes(id); + return ['frontend', 'backend', 'devops', 'react', 'vue', 'python', 'java', 'blockchain', 'golang', 'javascript', 'nodejs', 'qa', 'design-system', 'angular', 'software-architect', 'software-design-architecture'].includes(id); } diff --git a/public/pdfs/software-design-architecture.pdf b/public/pdfs/software-design-architecture.pdf new file mode 100644 index 000000000..6bd9c6686 Binary files /dev/null and b/public/pdfs/software-design-architecture.pdf differ diff --git a/public/project/software-design-architecture.json b/public/project/software-design-architecture.json new file mode 100644 index 000000000..74f74fdba --- /dev/null +++ b/public/project/software-design-architecture.json @@ -0,0 +1,4814 @@ +{ + "mockup": { + "controls": { + "control": [ + { + "ID": "8712", + "typeID": "Label", + "zOrder": "76", + "measuredW": "196", + "measuredH": "32", + "x": "438", + "y": "505", + "properties": { + "size": "24", + "text": "Minimap of Topics" + } + }, + { + "ID": "8723", + "typeID": "TextArea", + "zOrder": "58", + "w": "299", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "386", + "y": "552", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8724", + "typeID": "Label", + "zOrder": "59", + "measuredW": "97", + "measuredH": "26", + "x": "487", + "y": "564", + "properties": { + "size": "18", + "text": "Clean Code" + } + }, + { + "ID": "8725", + "typeID": "TextArea", + "zOrder": "60", + "w": "299", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "386", + "y": "607", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8726", + "typeID": "Label", + "zOrder": "61", + "measuredW": "200", + "measuredH": "26", + "x": "436", + "y": "619", + "properties": { + "size": "18", + "text": "Programming Paradigms" + } + }, + { + "ID": "8727", + "typeID": "TextArea", + "zOrder": "62", + "w": "299", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "386", + "y": "661", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8728", + "typeID": "Label", + "zOrder": "63", + "measuredW": "244", + "measuredH": "26", + "x": "414", + "y": "673", + "properties": { + "size": "18", + "text": "Object Oriented Programming" + } + }, + { + "ID": "8729", + "typeID": "TextArea", + "zOrder": "64", + "w": "299", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "386", + "y": "716", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8730", + "typeID": "Label", + "zOrder": "65", + "measuredW": "142", + "measuredH": "26", + "x": "465", + "y": "728", + "properties": { + "size": "18", + "text": "Design Principles" + } + }, + { + "ID": "8731", + "typeID": "TextArea", + "zOrder": "66", + "w": "299", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "386", + "y": "771", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8732", + "typeID": "Label", + "zOrder": "67", + "measuredW": "130", + "measuredH": "26", + "x": "471", + "y": "783", + "properties": { + "size": "18", + "text": "Design Patterns" + } + }, + { + "ID": "8733", + "typeID": "TextArea", + "zOrder": "68", + "w": "299", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "386", + "y": "990", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8734", + "typeID": "Label", + "zOrder": "69", + "measuredW": "159", + "measuredH": "26", + "x": "456", + "y": "1002", + "properties": { + "size": "18", + "text": "Enterprise Patterns" + } + }, + { + "ID": "8735", + "typeID": "TextArea", + "zOrder": "70", + "w": "299", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "386", + "y": "825", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8736", + "typeID": "Label", + "zOrder": "71", + "measuredW": "187", + "measuredH": "26", + "x": "442", + "y": "837", + "properties": { + "size": "18", + "text": "Architectural Principles" + } + }, + { + "ID": "8737", + "typeID": "TextArea", + "zOrder": "72", + "w": "299", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "386", + "y": "880", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8738", + "typeID": "Label", + "zOrder": "73", + "measuredW": "155", + "measuredH": "26", + "x": "458", + "y": "892", + "properties": { + "size": "18", + "text": "Architectural Styles" + } + }, + { + "ID": "8739", + "typeID": "TextArea", + "zOrder": "74", + "w": "299", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "386", + "y": "935", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8740", + "typeID": "Label", + "zOrder": "75", + "measuredW": "175", + "measuredH": "26", + "x": "448", + "y": "947", + "properties": { + "size": "18", + "text": "Architectural Patterns" + } + }, + { + "ID": "8746", + "typeID": "Label", + "zOrder": "77", + "measuredW": "395", + "measuredH": "36", + "x": "777", + "y": "530", + "properties": { + "size": "28", + "text": "Software Design & Architecture" + } + }, + { + "ID": "8752", + "typeID": "TextArea", + "zOrder": "79", + "w": "249", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "794", + "y": "1043", + "properties": { + "color": "16776960" + } + }, + { + "ID": "8753", + "typeID": "Label", + "zOrder": "80", + "measuredW": "182", + "measuredH": "26", + "x": "828", + "y": "1055", + "properties": { + "size": "18", + "text": "Clean Code Principles" + } + }, + { + "ID": "8755", + "typeID": "Arrow", + "zOrder": "81", + "w": "1", + "h": "64", + "measuredW": "150", + "measuredH": "100", + "x": "936", + "y": "446", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": -0.3586399639038973, + "y": 0 + }, + "p1": { + "x": 0.32941176470588224, + "y": 0 + }, + "p2": { + "x": -0.3586399639038973, + "y": 64 + }, + "stroke": "dotted" + } + }, + { + "ID": "8756", + "typeID": "TextArea", + "zOrder": "82", + "w": "249", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "794", + "y": "1098", + "properties": { + "color": "16776960" + } + }, + { + "ID": "8757", + "typeID": "Label", + "zOrder": "83", + "measuredW": "200", + "measuredH": "26", + "x": "819", + "y": "1110", + "properties": { + "size": "18", + "text": "Programming Paradigms" + } + }, + { + "ID": "8758", + "typeID": "TextArea", + "zOrder": "84", + "w": "193", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1117", + "y": "876", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8759", + "typeID": "Label", + "zOrder": "85", + "measuredW": "115", + "measuredH": "26", + "x": "1156", + "y": "888", + "properties": { + "size": "18", + "text": "Be Consistent" + } + }, + { + "ID": "8760", + "typeID": "TextArea", + "zOrder": "86", + "w": "382", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1314", + "y": "876", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8761", + "typeID": "Label", + "zOrder": "87", + "measuredW": "284", + "measuredH": "26", + "x": "1363", + "y": "888", + "properties": { + "size": "18", + "text": "Meaningful names over Comments" + } + }, + { + "ID": "8762", + "typeID": "TextArea", + "zOrder": "88", + "w": "258", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1117", + "y": "931", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8763", + "typeID": "Label", + "zOrder": "89", + "measuredW": "221", + "measuredH": "26", + "x": "1138", + "y": "943", + "properties": { + "size": "18", + "text": "Indentation and Code Style" + } + }, + { + "ID": "8764", + "typeID": "TextArea", + "zOrder": "90", + "w": "312", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1384", + "y": "931", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8765", + "typeID": "Label", + "zOrder": "91", + "measuredW": "275", + "measuredH": "26", + "x": "1405", + "y": "943", + "properties": { + "size": "18", + "text": "Keep methods, classes, files small" + } + }, + { + "ID": "8768", + "typeID": "TextArea", + "zOrder": "92", + "w": "155", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1118", + "y": "987", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8769", + "typeID": "Label", + "zOrder": "93", + "measuredW": "118", + "measuredH": "26", + "x": "1137", + "y": "999", + "properties": { + "size": "18", + "text": "Pure functions" + } + }, + { + "ID": "8770", + "typeID": "TextArea", + "zOrder": "94", + "w": "416", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1280", + "y": "987", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8771", + "typeID": "Label", + "zOrder": "95", + "measuredW": "253", + "measuredH": "26", + "x": "1361", + "y": "999", + "properties": { + "size": "18", + "text": "Minimize cyclomatic complexity" + } + }, + { + "ID": "8772", + "typeID": "TextArea", + "zOrder": "96", + "w": "273", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1118", + "y": "1042", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8773", + "typeID": "Label", + "zOrder": "97", + "measuredW": "236", + "measuredH": "26", + "x": "1137", + "y": "1054", + "properties": { + "size": "18", + "text": "Avoid passing nulls, booleans" + } + }, + { + "ID": "8774", + "typeID": "TextArea", + "zOrder": "98", + "w": "298", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1398", + "y": "1042", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8775", + "typeID": "Label", + "zOrder": "99", + "measuredW": "239", + "measuredH": "26", + "x": "1427", + "y": "1054", + "properties": { + "size": "18", + "text": "Keep framework code distant" + } + }, + { + "ID": "8776", + "typeID": "TextArea", + "zOrder": "100", + "w": "223", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1118", + "y": "1098", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8777", + "typeID": "Label", + "zOrder": "101", + "measuredW": "186", + "measuredH": "26", + "x": "1137", + "y": "1110", + "properties": { + "size": "18", + "text": "Use correct constructs" + } + }, + { + "ID": "8780", + "typeID": "TextArea", + "zOrder": "102", + "w": "349", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1347", + "y": "1098", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8781", + "typeID": "Label", + "zOrder": "103", + "measuredW": "305", + "measuredH": "26", + "x": "1369", + "y": "1110", + "properties": { + "size": "18", + "text": "Tests should be fast and independent" + } + }, + { + "ID": "8782", + "typeID": "TextArea", + "zOrder": "104", + "w": "222", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1118", + "y": "1154", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8783", + "typeID": "Label", + "zOrder": "105", + "measuredW": "188", + "measuredH": "26", + "x": "1135", + "y": "1166", + "properties": { + "size": "18", + "text": "Use meaningful names" + } + }, + { + "ID": "8784", + "typeID": "TextArea", + "zOrder": "106", + "w": "351", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1345", + "y": "1154", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8785", + "typeID": "Label", + "zOrder": "107", + "measuredW": "324", + "measuredH": "26", + "x": "1359", + "y": "1166", + "properties": { + "size": "18", + "text": "Organize code by the actor it belongs to" + } + }, + { + "ID": "8786", + "typeID": "TextArea", + "zOrder": "108", + "w": "266", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1118", + "y": "1209", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8787", + "typeID": "Label", + "zOrder": "109", + "measuredW": "230", + "measuredH": "26", + "x": "1136", + "y": "1221", + "properties": { + "size": "18", + "text": "Command Query Separation" + } + }, + { + "ID": "8788", + "typeID": "TextArea", + "zOrder": "110", + "w": "306", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1390", + "y": "1209", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8789", + "typeID": "Label", + "zOrder": "111", + "measuredW": "267", + "measuredH": "26", + "x": "1409", + "y": "1221", + "properties": { + "size": "18", + "text": "Keep it simple and refactor often" + } + }, + { + "ID": "8790", + "typeID": "TextArea", + "zOrder": "57", + "w": "608", + "h": "412", + "measuredW": "200", + "measuredH": "140", + "x": "1104", + "y": "863" + }, + { + "ID": "8791", + "typeID": "Arrow", + "zOrder": "56", + "w": "232", + "h": "3", + "measuredW": "150", + "measuredH": "100", + "x": "1025", + "y": "1065", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.373762114721103, + "y": 2.708182328369503 + }, + "p1": { + "x": 0.32941176470588235, + "y": -1.0593194675293207e-18 + }, + "p2": { + "x": 232, + "y": -0.39074135695739187 + } + } + }, + { + "ID": "8792", + "typeID": "Canvas", + "zOrder": "112", + "w": "463", + "h": "141", + "measuredW": "100", + "measuredH": "70", + "x": "1249", + "y": "523" + }, + { + "ID": "8802", + "typeID": "Label", + "zOrder": "113", + "measuredW": "396", + "measuredH": "25", + "x": "1271", + "y": "540", + "properties": { + "size": "17", + "text": "Find the detailed version of this roadmap along with" + } + }, + { + "ID": "8803", + "typeID": "Label", + "zOrder": "114", + "measuredW": "382", + "measuredH": "25", + "x": "1271", + "y": "568", + "properties": { + "size": "17", + "text": "resources, progress tracking and other resources." + } + }, + { + "ID": "8804", + "typeID": "__group__", + "zOrder": "115", + "measuredW": "403", + "measuredH": "45", + "w": "403", + "h": "45", + "x": "1271", + "y": "604", + "properties": { + "controlName": "ext_link:roadmap.sh" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "403", + "h": "45", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "borderColor": "4273622", + "color": "4273622" + } + }, + { + "ID": "1", + "typeID": "__group__", + "zOrder": "1", + "measuredW": "180", + "measuredH": "29", + "w": "180", + "h": "29", + "x": "107", + "y": "8", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Label", + "zOrder": "0", + "measuredW": "105", + "measuredH": "28", + "x": "75", + "y": "0", + "properties": { + "color": "16777215", + "size": "20", + "text": "roadmap.sh" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "45", + "measuredH": "28", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "size": "20", + "text": "https" + } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "measuredW": "5", + "measuredH": "28", + "x": "47", + "y": "0", + "properties": { + "bold": "true", + "color": "16777215", + "size": "20", + "text": ":" + } + }, + { + "ID": "3", + "typeID": "Label", + "zOrder": "3", + "measuredW": "10", + "measuredH": "28", + "x": "54", + "y": "1", + "properties": { + "color": "16777215", + "size": "20", + "text": "/" + } + }, + { + "ID": "4", + "typeID": "Label", + "zOrder": "4", + "measuredW": "10", + "measuredH": "28", + "x": "62", + "y": "1", + "properties": { + "color": "16777215", + "size": "20", + "text": "/" + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "8806", + "typeID": "TextArea", + "zOrder": "116", + "w": "312", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "386", + "y": "1094", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8807", + "typeID": "Label", + "zOrder": "117", + "measuredW": "199", + "measuredH": "26", + "x": "442", + "y": "1106", + "properties": { + "size": "18", + "text": "Structured Programming" + } + }, + { + "ID": "8808", + "typeID": "TextArea", + "zOrder": "118", + "w": "312", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "386", + "y": "1149", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8809", + "typeID": "Label", + "zOrder": "119", + "measuredW": "199", + "measuredH": "26", + "x": "442", + "y": "1161", + "properties": { + "size": "18", + "text": "Functional Programming" + } + }, + { + "ID": "8810", + "typeID": "TextArea", + "zOrder": "120", + "w": "312", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "386", + "y": "1204", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8811", + "typeID": "Label", + "zOrder": "121", + "measuredW": "244", + "measuredH": "26", + "x": "420", + "y": "1216", + "properties": { + "size": "18", + "text": "Object Oriented Programming" + } + }, + { + "ID": "8812", + "typeID": "Arrow", + "zOrder": "55", + "w": "129", + "h": "4", + "measuredW": "150", + "measuredH": "100", + "x": "680", + "y": "1118", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": -0.3326222086117241, + "y": 3.72262694836013 + }, + "p1": { + "x": 0.3294117647058824, + "y": 8.486321293555368e-18 + }, + "p2": { + "x": 129.01372997564988, + "y": -0.16604904758287375 + } + } + }, + { + "ID": "8816", + "typeID": "TextArea", + "zOrder": "122", + "w": "305", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "744", + "y": "1323", + "properties": { + "color": "16776960" + } + }, + { + "ID": "8817", + "typeID": "Label", + "zOrder": "123", + "w": "244", + "measuredW": "244", + "measuredH": "26", + "x": "771", + "y": "1335", + "properties": { + "text": "Object Oriented Programming", + "size": "18" + } + }, + { + "ID": "8818", + "typeID": "TextArea", + "zOrder": "124", + "w": "185", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "849", + "y": "1437", + "properties": { + "color": "16776960" + } + }, + { + "ID": "8819", + "typeID": "Label", + "zOrder": "125", + "measuredW": "146", + "measuredH": "26", + "x": "869", + "y": "1449", + "properties": { + "size": "18", + "text": "Primary Principles" + } + }, + { + "ID": "8820", + "typeID": "TextArea", + "zOrder": "126", + "w": "187", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "848", + "y": "1530", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8821", + "typeID": "Label", + "zOrder": "127", + "measuredW": "94", + "measuredH": "26", + "x": "895", + "y": "1542", + "properties": { + "size": "18", + "text": "Inheritance" + } + }, + { + "ID": "8822", + "typeID": "TextArea", + "zOrder": "128", + "w": "187", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "848", + "y": "1584", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8823", + "typeID": "Label", + "zOrder": "129", + "measuredW": "113", + "measuredH": "26", + "x": "885", + "y": "1596", + "properties": { + "size": "18", + "text": "Polymorphism" + } + }, + { + "ID": "8824", + "typeID": "TextArea", + "zOrder": "130", + "w": "187", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "848", + "y": "1639", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8825", + "typeID": "Label", + "zOrder": "131", + "measuredW": "92", + "measuredH": "26", + "x": "896", + "y": "1651", + "properties": { + "size": "18", + "text": "Abstraction" + } + }, + { + "ID": "8826", + "typeID": "TextArea", + "zOrder": "132", + "w": "187", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "848", + "y": "1693", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8827", + "typeID": "Label", + "zOrder": "133", + "measuredW": "116", + "measuredH": "26", + "x": "884", + "y": "1705", + "properties": { + "size": "18", + "text": "Encapsulation" + } + }, + { + "ID": "8828", + "typeID": "TextArea", + "zOrder": "134", + "w": "187", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "637", + "y": "1436", + "properties": { + "color": "16776960" + } + }, + { + "ID": "8829", + "typeID": "Label", + "zOrder": "135", + "measuredW": "154", + "measuredH": "26", + "x": "654", + "y": "1448", + "properties": { + "size": "18", + "text": "Paradigm Features" + } + }, + { + "ID": "8830", + "typeID": "TextArea", + "zOrder": "136", + "w": "187", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "637", + "y": "1529", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8831", + "typeID": "Label", + "zOrder": "137", + "measuredW": "137", + "measuredH": "26", + "x": "662", + "y": "1541", + "properties": { + "size": "18", + "text": "Abstract Classes" + } + }, + { + "ID": "8833", + "typeID": "TextArea", + "zOrder": "138", + "w": "187", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "637", + "y": "1584", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8834", + "typeID": "Label", + "zOrder": "139", + "measuredW": "145", + "measuredH": "26", + "x": "658", + "y": "1596", + "properties": { + "size": "18", + "text": "Concrete Classes" + } + }, + { + "ID": "8835", + "typeID": "TextArea", + "zOrder": "140", + "w": "187", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "637", + "y": "1638", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8836", + "typeID": "Label", + "zOrder": "141", + "measuredW": "134", + "measuredH": "26", + "x": "664", + "y": "1650", + "properties": { + "size": "18", + "text": "Scope / Visibility" + } + }, + { + "ID": "8837", + "typeID": "TextArea", + "zOrder": "142", + "w": "187", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "637", + "y": "1692", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8838", + "typeID": "Label", + "zOrder": "143", + "measuredW": "83", + "measuredH": "26", + "x": "689", + "y": "1704", + "properties": { + "size": "18", + "text": "Interfaces" + } + }, + { + "ID": "8841", + "typeID": "Arrow", + "zOrder": "49", + "w": "1", + "h": "86", + "measuredW": "150", + "measuredH": "100", + "x": "941", + "y": "1463", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": -0.3586399639038973, + "y": 0.4028220835805314 + }, + "p1": { + "x": 0.3294117647058821, + "y": 0 + }, + "p2": { + "x": -0.3586399639038973, + "y": 86.62391518484401 + } + } + }, + { + "ID": "8842", + "typeID": "Arrow", + "zOrder": "50", + "w": "1", + "h": "75", + "measuredW": "150", + "measuredH": "100", + "x": "732", + "y": "1462", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": -0.3586399639038973, + "y": -0.2534288249714791 + }, + "p1": { + "x": 0.3294117647058821, + "y": 0 + }, + "p2": { + "x": -0.3586399639038973, + "y": 75.13266542301426 + } + } + }, + { + "ID": "8845", + "typeID": "TextArea", + "zOrder": "144", + "w": "235", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "383", + "y": "1436", + "properties": { + "color": "16776960" + } + }, + { + "ID": "8846", + "typeID": "Label", + "zOrder": "145", + "measuredW": "172", + "measuredH": "26", + "x": "415", + "y": "1448", + "properties": { + "size": "18", + "text": "Model-Driven Design" + } + }, + { + "ID": "8847", + "typeID": "TextArea", + "zOrder": "146", + "w": "234", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "384", + "y": "1529", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8848", + "typeID": "Label", + "zOrder": "147", + "measuredW": "128", + "measuredH": "26", + "x": "437", + "y": "1541", + "properties": { + "size": "18", + "text": "Domain Models" + } + }, + { + "ID": "8849", + "typeID": "TextArea", + "zOrder": "148", + "w": "234", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "384", + "y": "1584", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8850", + "typeID": "Label", + "zOrder": "149", + "measuredW": "126", + "measuredH": "26", + "x": "438", + "y": "1596", + "properties": { + "size": "18", + "text": "Anemic Models" + } + }, + { + "ID": "8851", + "typeID": "TextArea", + "zOrder": "150", + "w": "234", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "384", + "y": "1638", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8852", + "typeID": "Label", + "zOrder": "151", + "measuredW": "178", + "measuredH": "26", + "x": "412", + "y": "1650", + "properties": { + "size": "18", + "text": "Layered Architectures" + } + }, + { + "ID": "8853", + "typeID": "TextArea", + "zOrder": "152", + "w": "234", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "384", + "y": "1693", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8854", + "typeID": "Label", + "zOrder": "153", + "measuredW": "150", + "measuredH": "26", + "x": "426", + "y": "1705", + "properties": { + "size": "18", + "text": "Domain Language" + } + }, + { + "ID": "8855", + "typeID": "TextArea", + "zOrder": "154", + "w": "234", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "384", + "y": "1748", + "properties": { + "color": "16770457" + } + }, + { + "ID": "8856", + "typeID": "Label", + "zOrder": "155", + "measuredW": "130", + "measuredH": "26", + "x": "436", + "y": "1760", + "properties": { + "size": "18", + "text": "Class Invariants" + } + }, + { + "ID": "8857", + "typeID": "Arrow", + "zOrder": "54", + "w": "125", + "h": "53", + "measuredW": "150", + "measuredH": "100", + "x": "678", + "y": "1130", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.4543045016012002, + "y": 53.589364727498946 + }, + "p1": { + "x": 0.3750490217438666, + "y": 0.09264020218745961 + }, + "p2": { + "x": 125.43153796090621, + "y": 0.3938829855903805 + } + } + }, + { + "ID": "8858", + "typeID": "Arrow", + "zOrder": "53", + "w": "119", + "h": "95", + "measuredW": "150", + "measuredH": "100", + "x": "688", + "y": "1136", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.158890819897465, + "y": 94.89922302919331 + }, + "p1": { + "x": 0.3750490217438667, + "y": 0.09264020218745957 + }, + "p2": { + "x": 119.61818197196396, + "y": -0.023924999666178337 + } + } + }, + { + "ID": "8859", + "typeID": "Arrow", + "zOrder": "48", + "w": "1", + "h": "74", + "measuredW": "150", + "measuredH": "100", + "x": "500", + "y": "1460", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": -0.3586399639038973, + "y": -0.14231282574201032 + }, + "p1": { + "x": 0.3294117647058821, + "y": 0 + }, + "p2": { + "x": -0.3586399639038973, + "y": 73.62391518484401 + } + } + }, + { + "ID": "8860", + "typeID": "Arrow", + "zOrder": "52", + "w": "530", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "461", + "y": "1461", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.11816489567706867, + "y": -0.3907413569572782 + }, + "p1": { + "x": 0.32941176470588224, + "y": -1.0467714226850798e-18 + }, + "p2": { + "x": 530.4264062963243, + "y": -0.3907413569572782 + } + } + }, + { + "ID": "8862", + "typeID": "Arrow", + "zOrder": "51", + "w": "2", + "h": "474", + "measuredW": "150", + "measuredH": "100", + "x": "934", + "y": "589", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": 1.6216144658764051, + "y": -0.09587076153292173 + }, + "p1": { + "x": 0.4642857142857143, + "y": -0.003992113361953179 + }, + "p2": { + "x": 1.6216144658764051, + "y": 473.50989513190007 + } + } + }, + { + "ID": "8998", + "typeID": "Arrow", + "zOrder": "47", + "w": "1", + "h": "112", + "measuredW": "150", + "measuredH": "100", + "x": "940", + "y": "1353", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": 0.6216144658764051, + "y": -0.2602206384465262 + }, + "p1": { + "x": 0.46428571428571425, + "y": -0.0039921133619531795 + }, + "p2": { + "x": 0.6216144658764051, + "y": 111.38361965642662 + }, + "stroke": "dotted" + } + }, + { + "ID": "8999", + "typeID": "Arrow", + "zOrder": "46", + "w": "320", + "h": "110", + "measuredW": "150", + "measuredH": "100", + "x": "440", + "y": "1344", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": -0.4023788389371248, + "y": 110.16101984072225 + }, + "p1": { + "x": 0.3090088209770084, + "y": 0.11860534092032544 + }, + "p2": { + "x": 319.1781140051372, + "y": -0.08727245046497956 + } + } + }, + { + "ID": "9000", + "typeID": "Arrow", + "zOrder": "45", + "w": "104", + "h": "107", + "measuredW": "150", + "measuredH": "100", + "x": "670", + "y": "1348", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 1.2585897729245517, + "y": 107.55656784440816 + }, + "p1": { + "x": 0.3880928168623461, + "y": 0.19007118424701788 + }, + "p2": { + "x": 104.52914204568219, + "y": 0.09937156059277186 + } + } + }, + { + "ID": "9001", + "typeID": "Arrow", + "zOrder": "44", + "w": "1", + "h": "219", + "measuredW": "150", + "measuredH": "100", + "x": "940", + "y": "1132", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": 0.6216144658764051, + "y": -0.09587076153292173 + }, + "p1": { + "x": 0.4642857142857143, + "y": -0.003992113361953179 + }, + "p2": { + "x": 0.6216144658764051, + "y": 218.8904675679646 + } + } + }, + { + "ID": "9002", + "typeID": "Arrow", + "zOrder": "43", + "w": "204", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "1047", + "y": "1347", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": -0.3389972355646478, + "y": -0.09587076153297858 + }, + "p1": { + "x": 0.46428571428571414, + "y": -0.0039921133619531925 + }, + "p2": { + "x": 203.4110113025788, + "y": -0.09587076153297858 + } + } + }, + { + "ID": "9003", + "typeID": "TextArea", + "zOrder": "156", + "w": "205", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1138", + "y": "1323", + "properties": { + "color": "16776960" + } + }, + { + "ID": "9004", + "typeID": "Label", + "zOrder": "157", + "measuredW": "142", + "measuredH": "26", + "x": "1170", + "y": "1335", + "properties": { + "text": "Design Principles", + "size": "18" + } + }, + { + "ID": "9005", + "typeID": "TextArea", + "zOrder": "158", + "w": "306", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1406", + "y": "1323", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9006", + "typeID": "Label", + "zOrder": "159", + "measuredW": "241", + "measuredH": "26", + "x": "1438", + "y": "1335", + "properties": { + "size": "18", + "text": "Composition over Inheritance" + } + }, + { + "ID": "9007", + "typeID": "TextArea", + "zOrder": "160", + "w": "306", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1406", + "y": "1378", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9008", + "typeID": "Label", + "zOrder": "161", + "measuredW": "198", + "measuredH": "26", + "x": "1460", + "y": "1390", + "properties": { + "size": "18", + "text": "Encapsulate what varies" + } + }, + { + "ID": "9009", + "typeID": "TextArea", + "zOrder": "162", + "w": "306", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1406", + "y": "1434", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9010", + "typeID": "Label", + "zOrder": "163", + "measuredW": "239", + "measuredH": "26", + "x": "1439", + "y": "1446", + "properties": { + "size": "18", + "text": "Program against abstarctions" + } + }, + { + "ID": "9011", + "typeID": "TextArea", + "zOrder": "164", + "w": "306", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1406", + "y": "1490", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9012", + "typeID": "Label", + "zOrder": "165", + "measuredW": "158", + "measuredH": "26", + "x": "1480", + "y": "1502", + "properties": { + "size": "18", + "text": "Hollywood principle" + } + }, + { + "ID": "9013", + "typeID": "TextArea", + "zOrder": "166", + "w": "108", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1406", + "y": "1546", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9014", + "typeID": "Label", + "zOrder": "167", + "measuredW": "54", + "measuredH": "26", + "x": "1433", + "y": "1558", + "properties": { + "size": "18", + "text": "SOLID" + } + }, + { + "ID": "9015", + "typeID": "TextArea", + "zOrder": "168", + "w": "86", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1523", + "y": "1546", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9016", + "typeID": "Label", + "zOrder": "169", + "measuredW": "37", + "measuredH": "26", + "x": "1547", + "y": "1558", + "properties": { + "size": "18", + "text": "DRY" + } + }, + { + "ID": "9017", + "typeID": "TextArea", + "zOrder": "170", + "w": "94", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1618", + "y": "1546", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9018", + "typeID": "Label", + "zOrder": "171", + "measuredW": "53", + "measuredH": "26", + "x": "1638", + "y": "1558", + "properties": { + "size": "18", + "text": "YAGNI" + } + }, + { + "ID": "9019", + "typeID": "Arrow", + "zOrder": "42", + "w": "130", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "1302", + "y": "1346", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.3082755532209376, + "y": -0.291817671630497 + }, + "p1": { + "x": 0.3294117647058823, + "y": -8.554261088609249e-19 + }, + "p2": { + "x": 130.094239896011, + "y": -0.291817671630497 + } + } + }, + { + "ID": "9020", + "typeID": "Arrow", + "zOrder": "41", + "w": "116", + "h": "46", + "measuredW": "150", + "measuredH": "100", + "x": "1303", + "y": "1357", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.5931585078730334, + "y": -0.04448893374823515 + }, + "p2": { + "x": 117, + "y": 46 + } + } + }, + { + "ID": "9021", + "typeID": "Arrow", + "zOrder": "40", + "w": "128", + "h": "108", + "measuredW": "150", + "measuredH": "100", + "x": "1294", + "y": "1354", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.6587147528112978, + "y": -0.08563456876037258 + }, + "p2": { + "x": 128, + "y": 108 + } + } + }, + { + "ID": "9022", + "typeID": "Arrow", + "zOrder": "39", + "w": "137", + "h": "162", + "measuredW": "150", + "measuredH": "100", + "x": "1282", + "y": "1353", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.6387375014132494, + "y": -0.10358394265031602 + }, + "p2": { + "x": 138, + "y": 162 + } + } + }, + { + "ID": "9023", + "typeID": "Arrow", + "zOrder": "38", + "w": "156", + "h": "210", + "measuredW": "150", + "measuredH": "100", + "x": "1266", + "y": "1361", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.6348487205230864, + "y": -0.09421020418116537 + }, + "p2": { + "x": 156, + "y": 210 + } + } + }, + { + "ID": "9049", + "typeID": "Arrow", + "zOrder": "172", + "w": "4", + "h": "474", + "measuredW": "150", + "measuredH": "100", + "x": "357", + "y": "560", + "properties": { + "direction": "bottom", + "leftArrow": "false", + "color": "10027263", + "p0": { + "x": 4.446932954651686, + "y": 0.07707742644868176 + }, + "p1": { + "x": 0.46763660268664214, + "y": 0.001185028847235081 + }, + "p2": { + "x": 0.2602889435939346, + "y": 474.5633986796594 + }, + "stroke": "dotted", + "rightArrow": "false" + } + }, + { + "ID": "9068", + "typeID": "Arrow", + "zOrder": "37", + "w": "1", + "h": "371", + "measuredW": "150", + "measuredH": "100", + "x": "1235", + "y": "1349", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": 1.6216144658764051, + "y": -0.09587076153292173 + }, + "p1": { + "x": 0.4642857142857143, + "y": -0.003992113361953182 + }, + "p2": { + "x": 1.6216144658765188, + "y": 370.71479385115344 + } + } + }, + { + "ID": "9069", + "typeID": "TextArea", + "zOrder": "173", + "w": "205", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1138", + "y": "1692", + "properties": { + "color": "16776960" + } + }, + { + "ID": "9070", + "typeID": "Label", + "zOrder": "174", + "measuredW": "130", + "measuredH": "26", + "x": "1176", + "y": "1704", + "properties": { + "size": "18", + "text": "Design Patterns" + } + }, + { + "ID": "9071", + "typeID": "TextArea", + "zOrder": "175", + "w": "254", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1458", + "y": "1634", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9072", + "typeID": "Label", + "zOrder": "176", + "measuredW": "170", + "measuredH": "26", + "x": "1500", + "y": "1646", + "properties": { + "size": "18", + "text": "GoF Design Patterns" + } + }, + { + "ID": "9073", + "typeID": "TextArea", + "zOrder": "177", + "w": "254", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1458", + "y": "1688", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9074", + "typeID": "Label", + "zOrder": "178", + "measuredW": "116", + "measuredH": "26", + "x": "1527", + "y": "1700", + "properties": { + "size": "18", + "text": "PoSA Patterns" + } + }, + { + "ID": "9075", + "typeID": "Arrow", + "zOrder": "36", + "w": "170", + "h": "8", + "measuredW": "150", + "measuredH": "100", + "x": "1329", + "y": "1720", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.04461796514533489, + "y": 7.758492984310578 + }, + "p1": { + "x": 0.3294117647058822, + "y": 3.935013978350912e-18 + }, + "p2": { + "x": 169.8457074842272, + "y": 0.09829345713387738 + } + } + }, + { + "ID": "9076", + "typeID": "Arrow", + "zOrder": "35", + "w": "149", + "h": "63", + "measuredW": "150", + "measuredH": "100", + "x": "1323", + "y": "1652", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": -0.338881640835325, + "y": 62.7778944027807 + }, + "p1": { + "x": 0.5665558969214369, + "y": -0.11436453696156496 + }, + "p2": { + "x": 149.03500913910898, + "y": 0.21959826417150907 + } + } + }, + { + "ID": "9077", + "typeID": "Arrow", + "zOrder": "34", + "w": "231", + "h": "140", + "measuredW": "150", + "measuredH": "100", + "x": "1008", + "y": "1711", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": 230.4139447480659, + "y": 0.23935252321666667 + }, + "p1": { + "x": 0.4390975362185104, + "y": 0.17740149487865609 + }, + "p2": { + "x": -0.1694047970761403, + "y": 140.14385674161736 + } + } + }, + { + "ID": "9078", + "typeID": "TextArea", + "zOrder": "179", + "w": "263", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "761", + "y": "1833", + "properties": { + "color": "16776960" + } + }, + { + "ID": "9079", + "typeID": "Label", + "zOrder": "180", + "measuredW": "187", + "measuredH": "26", + "x": "799", + "y": "1845", + "properties": { + "size": "18", + "text": "Architectural Principles" + } + }, + { + "ID": "9080", + "typeID": "TextArea", + "zOrder": "181", + "w": "267", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "384", + "y": "1888", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9081", + "typeID": "Label", + "zOrder": "182", + "measuredW": "121", + "measuredH": "26", + "x": "457", + "y": "1900", + "properties": { + "size": "18", + "text": "Policy vs Detail" + } + }, + { + "ID": "9082", + "typeID": "TextArea", + "zOrder": "183", + "w": "267", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "384", + "y": "1833", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9083", + "typeID": "Label", + "zOrder": "184", + "measuredW": "180", + "measuredH": "26", + "x": "428", + "y": "1845", + "properties": { + "size": "18", + "text": "Component Principles" + } + }, + { + "ID": "9084", + "typeID": "TextArea", + "zOrder": "185", + "w": "267", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "384", + "y": "1942", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9085", + "typeID": "Label", + "zOrder": "186", + "measuredW": "190", + "measuredH": "26", + "x": "423", + "y": "1954", + "properties": { + "size": "18", + "text": "Coupling and Cohesion" + } + }, + { + "ID": "9086", + "typeID": "TextArea", + "zOrder": "187", + "w": "267", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "384", + "y": "1997", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9087", + "typeID": "Label", + "zOrder": "188", + "measuredW": "94", + "measuredH": "26", + "x": "471", + "y": "2009", + "properties": { + "size": "18", + "text": "Boundaries" + } + }, + { + "ID": "9088", + "typeID": "Arrow", + "zOrder": "33", + "w": "181", + "h": "5", + "measuredW": "150", + "measuredH": "100", + "x": "618", + "y": "1852", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.3082755532209376, + "y": 4.708182328369503 + }, + "p1": { + "x": 0.32941176470588224, + "y": 0 + }, + "p2": { + "x": 181.26925095141905, + "y": -0.4928466496123747 + } + } + }, + { + "ID": "9089", + "typeID": "Arrow", + "zOrder": "32", + "w": "153", + "h": "52", + "measuredW": "150", + "measuredH": "100", + "x": "630", + "y": "1864", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": -0.42973101719667284, + "y": 52.277757155202835 + }, + "p1": { + "x": 0.4192218500386497, + "y": 0.08670445761401716 + }, + "p2": { + "x": 152.4288939621672, + "y": 0.46127411135080365 + } + } + }, + { + "ID": "9090", + "typeID": "Arrow", + "zOrder": "31", + "w": "175", + "h": "106", + "measuredW": "150", + "measuredH": "100", + "x": "631", + "y": "1867", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": -0.13431894110033227, + "y": 106.27588850344023 + }, + "p1": { + "x": 0.35968221070244366, + "y": 0.08736483090006118 + }, + "p2": { + "x": 174.74631133190064, + "y": 0.05209826354348479 + } + } + }, + { + "ID": "9091", + "typeID": "Arrow", + "zOrder": "30", + "w": "202", + "h": "168", + "measuredW": "150", + "measuredH": "100", + "x": "632", + "y": "1862", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.1610931349960083, + "y": 168.27401985167762 + }, + "p1": { + "x": 0.412358133669609, + "y": 0.0794451450189153 + }, + "p2": { + "x": 202.24537700601923, + "y": -0.1295500408418775 + } + } + }, + { + "ID": "9092", + "typeID": "TextArea", + "zOrder": "189", + "w": "228", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1138", + "y": "1945", + "properties": { + "color": "16776960" + } + }, + { + "ID": "9093", + "typeID": "Label", + "zOrder": "190", + "measuredW": "155", + "measuredH": "26", + "x": "1174", + "y": "1957", + "properties": { + "size": "18", + "text": "Architectural Styles" + } + }, + { + "ID": "9094", + "typeID": "Arrow", + "zOrder": "29", + "w": "234", + "h": "95", + "measuredW": "150", + "measuredH": "100", + "x": "1004", + "y": "1864", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": 234.4139447480659, + "y": 94.66305905761055 + }, + "p1": { + "x": 0.40002625360987165, + "y": -0.14253084799159907 + }, + "p2": { + "x": -0.055641025365048336, + "y": 0.09797750258030646 + } + } + }, + { + "ID": "9095", + "typeID": "TextArea", + "zOrder": "193", + "w": "254", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1458", + "y": "1906", + "properties": { + "color": "16776960" + } + }, + { + "ID": "9096", + "typeID": "Label", + "zOrder": "194", + "measuredW": "90", + "measuredH": "26", + "x": "1540", + "y": "1918", + "properties": { + "size": "18", + "text": "Messaging" + } + }, + { + "ID": "9097", + "typeID": "TextArea", + "zOrder": "195", + "w": "254", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1458", + "y": "1971", + "properties": { + "color": "16776960" + } + }, + { + "ID": "9098", + "typeID": "Label", + "zOrder": "196", + "measuredW": "89", + "measuredH": "26", + "x": "1540", + "y": "1983", + "properties": { + "size": "18", + "text": "Distributed" + } + }, + { + "ID": "9099", + "typeID": "TextArea", + "zOrder": "191", + "w": "228", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1138", + "y": "2047", + "properties": { + "color": "16776960" + } + }, + { + "ID": "9100", + "typeID": "Label", + "zOrder": "192", + "measuredW": "79", + "measuredH": "26", + "x": "1212", + "y": "2059", + "properties": { + "size": "18", + "text": "Structural" + } + }, + { + "ID": "9101", + "typeID": "Arrow", + "zOrder": "28", + "w": "133", + "h": "41", + "measuredW": "150", + "measuredH": "100", + "x": "1341", + "y": "1920", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": -0.2485012403260498, + "y": 39.95847113370678 + }, + "p1": { + "x": 0.566555896921436, + "y": -0.11436453696156705 + }, + "p2": { + "x": 133.17894259759305, + "y": -0.19930322527852695 + } + } + }, + { + "ID": "9102", + "typeID": "Arrow", + "zOrder": "27", + "w": "120", + "h": "21", + "measuredW": "150", + "measuredH": "100", + "x": "1343", + "y": "1977", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.34232291186640396, + "y": 1.0942401990550934 + }, + "p1": { + "x": 0.5661072334357016, + "y": 0.0765415136828243 + }, + "p2": { + "x": 120.81564598882255, + "y": 20.525421340499634 + } + } + }, + { + "ID": "9103", + "typeID": "TextArea", + "zOrder": "197", + "w": "254", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1458", + "y": "1767", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9104", + "typeID": "Label", + "zOrder": "198", + "measuredW": "106", + "measuredH": "26", + "x": "1532", + "y": "1779", + "properties": { + "size": "18", + "text": "Event-Driven" + } + }, + { + "ID": "9105", + "typeID": "TextArea", + "zOrder": "199", + "w": "254", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1458", + "y": "1823", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9106", + "typeID": "Label", + "zOrder": "200", + "measuredW": "147", + "measuredH": "26", + "x": "1511", + "y": "1835", + "properties": { + "size": "18", + "text": "Publish-Subscribe" + } + }, + { + "ID": "9107", + "typeID": "TextArea", + "zOrder": "201", + "w": "254", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1458", + "y": "2045", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9108", + "typeID": "Label", + "zOrder": "202", + "measuredW": "108", + "measuredH": "26", + "x": "1531", + "y": "2057", + "properties": { + "size": "18", + "text": "Client-Server" + } + }, + { + "ID": "9109", + "typeID": "TextArea", + "zOrder": "203", + "w": "254", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1458", + "y": "2101", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9110", + "typeID": "Label", + "zOrder": "204", + "measuredW": "106", + "measuredH": "26", + "x": "1532", + "y": "2113", + "properties": { + "size": "18", + "text": "Peer-to-Peer" + } + }, + { + "ID": "9111", + "typeID": "Arrow", + "zOrder": "26", + "w": "1", + "h": "91", + "measuredW": "150", + "measuredH": "100", + "x": "1584", + "y": "1843", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.6216144658765188, + "y": 0.37138428503953946 + }, + "p1": { + "x": 0.46428571428571425, + "y": -0.00399211336195318 + }, + "p2": { + "x": 0.6216144658764051, + "y": 91.38361965642662 + } + } + }, + { + "ID": "9112", + "typeID": "Arrow", + "zOrder": "25", + "w": "1", + "h": "79", + "measuredW": "150", + "measuredH": "100", + "x": "1584", + "y": "1995", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.6216144658765188, + "y": 0.37138428503953946 + }, + "p1": { + "x": 0.4642857142857142, + "y": -0.003992113361953181 + }, + "p2": { + "x": 0.6216144658765188, + "y": 78.95473383018134 + } + } + }, + { + "ID": "9113", + "typeID": "Arrow", + "zOrder": "24", + "w": "1", + "h": "176", + "measuredW": "150", + "measuredH": "100", + "x": "1239", + "y": "1982", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.6216144658765188, + "y": 0.37138428503953946 + }, + "p1": { + "x": 0.46428571428571414, + "y": -0.003992113361953182 + }, + "p2": { + "x": 0.6216144658765188, + "y": 176.15651877644132 + } + } + }, + { + "ID": "9114", + "typeID": "TextArea", + "zOrder": "205", + "w": "228", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1139", + "y": "2138", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9115", + "typeID": "Label", + "zOrder": "206", + "measuredW": "155", + "measuredH": "26", + "x": "1175", + "y": "2150", + "properties": { + "size": "18", + "text": "Component-Based" + } + }, + { + "ID": "9116", + "typeID": "TextArea", + "zOrder": "207", + "w": "228", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1139", + "y": "2193", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9117", + "typeID": "Label", + "zOrder": "208", + "measuredW": "84", + "measuredH": "26", + "x": "1211", + "y": "2205", + "properties": { + "size": "18", + "text": "Monolithic" + } + }, + { + "ID": "9118", + "typeID": "TextArea", + "zOrder": "209", + "w": "228", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1139", + "y": "2248", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9119", + "typeID": "Label", + "zOrder": "210", + "measuredW": "65", + "measuredH": "26", + "x": "1220", + "y": "2260", + "properties": { + "size": "18", + "text": "Layered" + } + }, + { + "ID": "9120", + "typeID": "Arrow", + "zOrder": "23", + "w": "254", + "h": "180", + "measuredW": "150", + "measuredH": "100", + "x": "895", + "y": "1971", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": 254.4139447480659, + "y": -0.3369409423894467 + }, + "p1": { + "x": 0.5385566782391991, + "y": -0.18949858147958698 + }, + "p2": { + "x": 0.2851940316771788, + "y": 179.3322298368198 + } + } + }, + { + "ID": "9121", + "typeID": "TextArea", + "zOrder": "211", + "w": "263", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "731", + "y": "2138", + "properties": { + "color": "16776960" + } + }, + { + "ID": "9122", + "typeID": "Label", + "zOrder": "212", + "measuredW": "175", + "measuredH": "26", + "x": "775", + "y": "2150", + "properties": { + "size": "18", + "text": "Architectural Patterns" + } + }, + { + "ID": "9123", + "typeID": "TextArea", + "zOrder": "213", + "w": "267", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "384", + "y": "2123", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9124", + "typeID": "Label", + "zOrder": "214", + "measuredW": "180", + "measuredH": "26", + "x": "428", + "y": "2135", + "properties": { + "size": "18", + "text": "Model-View Controller" + } + }, + { + "ID": "9125", + "typeID": "TextArea", + "zOrder": "215", + "w": "267", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "384", + "y": "2069", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9126", + "typeID": "Label", + "zOrder": "216", + "measuredW": "184", + "measuredH": "26", + "x": "426", + "y": "2081", + "properties": { + "size": "18", + "text": "Domain-Driven Design" + } + }, + { + "ID": "9127", + "typeID": "TextArea", + "zOrder": "217", + "w": "267", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "384", + "y": "2177", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9128", + "typeID": "Label", + "zOrder": "218", + "measuredW": "114", + "measuredH": "26", + "x": "461", + "y": "2189", + "properties": { + "size": "18", + "text": "Microservices" + } + }, + { + "ID": "9129", + "typeID": "TextArea", + "zOrder": "219", + "w": "267", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "384", + "y": "2232", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9130", + "typeID": "Label", + "zOrder": "220", + "measuredW": "156", + "measuredH": "26", + "x": "440", + "y": "2244", + "properties": { + "size": "18", + "text": "Blackboard Pattern" + } + }, + { + "ID": "9131", + "typeID": "TextArea", + "zOrder": "221", + "w": "267", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "384", + "y": "2288", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9132", + "typeID": "Label", + "zOrder": "222", + "measuredW": "97", + "measuredH": "26", + "x": "469", + "y": "2300", + "properties": { + "size": "18", + "text": "Microkernel" + } + }, + { + "ID": "9133", + "typeID": "TextArea", + "zOrder": "223", + "w": "267", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "384", + "y": "2344", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9134", + "typeID": "Label", + "zOrder": "224", + "measuredW": "190", + "measuredH": "26", + "x": "423", + "y": "2356", + "properties": { + "size": "18", + "text": "Serverless Architecture" + } + }, + { + "ID": "9135", + "typeID": "TextArea", + "zOrder": "225", + "w": "138", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "733", + "y": "2038", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9136", + "typeID": "Label", + "zOrder": "226", + "measuredW": "51", + "measuredH": "26", + "x": "776", + "y": "2050", + "properties": { + "size": "18", + "text": "CQRS" + } + }, + { + "ID": "9137", + "typeID": "TextArea", + "zOrder": "227", + "w": "267", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "384", + "y": "2454", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9138", + "typeID": "Label", + "zOrder": "228", + "measuredW": "123", + "measuredH": "26", + "x": "456", + "y": "2466", + "properties": { + "size": "18", + "text": "Event Sourcing" + } + }, + { + "ID": "9139", + "typeID": "TextArea", + "zOrder": "229", + "w": "267", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "384", + "y": "2399", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9140", + "typeID": "Label", + "zOrder": "230", + "measuredW": "230", + "measuredH": "26", + "x": "403", + "y": "2411", + "properties": { + "size": "18", + "text": "Message Queues / Streams" + } + }, + { + "ID": "9141", + "typeID": "TextArea", + "zOrder": "231", + "w": "138", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "733", + "y": "1984", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9142", + "typeID": "Label", + "zOrder": "232", + "measuredW": "36", + "measuredH": "26", + "x": "784", + "y": "1996", + "properties": { + "size": "18", + "text": "SOA" + } + }, + { + "ID": "9143", + "typeID": "Arrow", + "zOrder": "22", + "w": "122", + "h": "18", + "measuredW": "150", + "measuredH": "100", + "x": "632", + "y": "2143", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": -0.3570716954425279, + "y": 0.46654583350937173 + }, + "p1": { + "x": 0.3092749477390253, + "y": -0.04764000440092364 + }, + "p2": { + "x": 121.85210356348273, + "y": 18.31732424211623 + } + } + }, + { + "ID": "9144", + "typeID": "Arrow", + "zOrder": "21", + "w": "114", + "h": "63", + "measuredW": "150", + "measuredH": "100", + "x": "636", + "y": "2087", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": -0.23766129345619902, + "y": 0.16793700636389985 + }, + "p1": { + "x": 0.3927866695900029, + "y": -0.09460644595483586 + }, + "p2": { + "x": 113.73269316149651, + "y": 63.58595623549536 + } + } + }, + { + "ID": "9145", + "typeID": "Arrow", + "zOrder": "20", + "w": "126", + "h": "36", + "measuredW": "150", + "measuredH": "100", + "x": "628", + "y": "2168", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": -0.47648209742874315, + "y": 35.88456506264083 + }, + "p1": { + "x": 0.4910485933503837, + "y": 0.007672634271099409 + }, + "p2": { + "x": 125.85210356348273, + "y": 0.18300824542666305 + } + } + }, + { + "ID": "9146", + "typeID": "Arrow", + "zOrder": "19", + "w": "130", + "h": "89", + "measuredW": "150", + "measuredH": "100", + "x": "626", + "y": "2165", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.15038110190914722, + "y": 89.69062668713786 + }, + "p1": { + "x": 0.4162264150943399, + "y": -0.0532075471698116 + }, + "p2": { + "x": 130.59837716480695, + "y": 0.43673464410267115 + } + } + }, + { + "ID": "9147", + "typeID": "Arrow", + "zOrder": "16", + "w": "132", + "h": "144", + "measuredW": "150", + "measuredH": "100", + "x": "628", + "y": "2170", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": -0.47648209742874315, + "y": 143.73550911560733 + }, + "p1": { + "x": 0.33952751368481776, + "y": -0.04393546528377913 + }, + "p2": { + "x": 131.34465076613105, + "y": -0.443854953911341 + } + } + }, + { + "ID": "9148", + "typeID": "Arrow", + "zOrder": "17", + "w": "139", + "h": "202", + "measuredW": "150", + "measuredH": "100", + "x": "634", + "y": "2168", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.38920190588169135, + "y": 202.0341179427528 + }, + "p1": { + "x": 0.33495756051556175, + "y": -0.041967934611756824 + }, + "p2": { + "x": 139.07601877275192, + "y": 0.18300824542666305 + } + } + }, + { + "ID": "9149", + "typeID": "Arrow", + "zOrder": "18", + "w": "157", + "h": "251", + "measuredW": "150", + "measuredH": "100", + "x": "633", + "y": "2175", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.01606510521958171, + "y": 251.33272676989827 + }, + "p1": { + "x": 0.42026460148434935, + "y": -0.060600193610842665 + }, + "p2": { + "x": 156.5536603806969, + "y": 0.04869224873709754 + } + } + }, + { + "ID": "9150", + "typeID": "Arrow", + "zOrder": "15", + "w": "161", + "h": "305", + "measuredW": "150", + "measuredH": "100", + "x": "640", + "y": "2175", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": -0.1182508914699838, + "y": 304.8850619957193 + }, + "p1": { + "x": 0.4202646014843494, + "y": -0.060600193610842686 + }, + "p2": { + "x": 160.53875478599355, + "y": 0.04869224873709754 + } + } + }, + { + "ID": "9151", + "typeID": "Arrow", + "zOrder": "14", + "w": "1", + "h": "110", + "measuredW": "150", + "measuredH": "100", + "x": "801", + "y": "2057", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": -0.3586399639038973, + "y": -0.2534288249714791 + }, + "p1": { + "x": 0.3294117647058821, + "y": 0 + }, + "p2": { + "x": -0.3586399639038973, + "y": 109.43673464410267 + } + } + }, + { + "ID": "9152", + "typeID": "Arrow", + "zOrder": "13", + "w": "286", + "h": "274", + "measuredW": "150", + "measuredH": "100", + "x": "896", + "y": "2174", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": 285.4497794271174, + "y": 273.6502389630323 + }, + "p1": { + "x": 0.5173212592298939, + "y": 0.20701077470420914 + }, + "p2": { + "x": -0.1694047970761403, + "y": 0.1438567416173555 + } + } + }, + { + "ID": "9153", + "typeID": "TextArea", + "zOrder": "233", + "w": "233", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1134", + "y": "2425", + "properties": { + "color": "16776960" + } + }, + { + "ID": "9154", + "typeID": "Label", + "zOrder": "234", + "measuredW": "159", + "measuredH": "26", + "x": "1171", + "y": "2437", + "properties": { + "size": "18", + "text": "Enterprise Patterns" + } + }, + { + "ID": "9155", + "typeID": "TextArea", + "zOrder": "235", + "w": "232", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1480", + "y": "2206", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9156", + "typeID": "Label", + "zOrder": "236", + "measuredW": "45", + "measuredH": "26", + "x": "1573", + "y": "2218", + "properties": { + "size": "18", + "text": "DTOs" + } + }, + { + "ID": "9157", + "typeID": "TextArea", + "zOrder": "237", + "w": "232", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1480", + "y": "2261", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9158", + "typeID": "Label", + "zOrder": "238", + "measuredW": "109", + "measuredH": "26", + "x": "1541", + "y": "2273", + "properties": { + "size": "18", + "text": "Identity Maps" + } + }, + { + "ID": "9159", + "typeID": "TextArea", + "zOrder": "239", + "w": "232", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1480", + "y": "2316", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9160", + "typeID": "Label", + "zOrder": "240", + "measuredW": "90", + "measuredH": "26", + "x": "1551", + "y": "2328", + "properties": { + "size": "18", + "text": "Use Cases" + } + }, + { + "ID": "9161", + "typeID": "TextArea", + "zOrder": "241", + "w": "232", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1480", + "y": "2372", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9162", + "typeID": "Label", + "zOrder": "242", + "measuredW": "104", + "measuredH": "26", + "x": "1544", + "y": "2384", + "properties": { + "size": "18", + "text": "Repositories" + } + }, + { + "ID": "9163", + "typeID": "TextArea", + "zOrder": "243", + "w": "232", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1480", + "y": "2427", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9164", + "typeID": "Label", + "zOrder": "244", + "measuredW": "73", + "measuredH": "26", + "x": "1559", + "y": "2439", + "properties": { + "size": "18", + "text": "Mappers" + } + }, + { + "ID": "9165", + "typeID": "TextArea", + "zOrder": "245", + "w": "232", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1480", + "y": "2481", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9166", + "typeID": "Label", + "zOrder": "246", + "measuredW": "147", + "measuredH": "26", + "x": "1522", + "y": "2493", + "properties": { + "size": "18", + "text": "Transaction Script" + } + }, + { + "ID": "9167", + "typeID": "TextArea", + "zOrder": "247", + "w": "232", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1480", + "y": "2536", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9168", + "typeID": "Label", + "zOrder": "248", + "measuredW": "176", + "measuredH": "26", + "x": "1508", + "y": "2548", + "properties": { + "size": "18", + "text": "Commands / Queries" + } + }, + { + "ID": "9169", + "typeID": "TextArea", + "zOrder": "249", + "w": "232", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1480", + "y": "2590", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9170", + "typeID": "Label", + "zOrder": "250", + "measuredW": "112", + "measuredH": "26", + "x": "1540", + "y": "2602", + "properties": { + "size": "18", + "text": "Value Objects" + } + }, + { + "ID": "9171", + "typeID": "TextArea", + "zOrder": "251", + "w": "232", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1480", + "y": "2645", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9172", + "typeID": "Label", + "zOrder": "252", + "measuredW": "128", + "measuredH": "26", + "x": "1532", + "y": "2657", + "properties": { + "size": "18", + "text": "Domain Models" + } + }, + { + "ID": "9173", + "typeID": "TextArea", + "zOrder": "253", + "w": "232", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1480", + "y": "2703", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9174", + "typeID": "Label", + "zOrder": "254", + "measuredW": "62", + "measuredH": "26", + "x": "1565", + "y": "2715", + "properties": { + "size": "18", + "text": "Entities" + } + }, + { + "ID": "9175", + "typeID": "TextArea", + "zOrder": "255", + "w": "232", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "1480", + "y": "2757", + "properties": { + "color": "16770457" + } + }, + { + "ID": "9176", + "typeID": "Label", + "zOrder": "256", + "measuredW": "51", + "measuredH": "26", + "x": "1570", + "y": "2769", + "properties": { + "size": "18", + "text": "ORMs" + } + }, + { + "ID": "9177", + "typeID": "Arrow", + "zOrder": "12", + "w": "153", + "h": "6", + "measuredW": "150", + "measuredH": "100", + "x": "1347", + "y": "2451", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.15633307267671626, + "y": 6.172302194651365 + }, + "p1": { + "x": 0.32941176470588207, + "y": 0 + }, + "p2": { + "x": 153.21353147811692, + "y": -0.15237542540808136 + } + } + }, + { + "ID": "9178", + "typeID": "Arrow", + "zOrder": "11", + "w": "151", + "h": "58", + "measuredW": "150", + "measuredH": "100", + "x": "1342", + "y": "2389", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.09659097662893146, + "y": 58.05281800255625 + }, + "p1": { + "x": 0.38932235669963805, + "y": -0.0580573815813714 + }, + "p2": { + "x": 150.62391833404536, + "y": -0.1342161019915693 + } + } + }, + { + "ID": "9179", + "typeID": "Arrow", + "zOrder": "10", + "w": "151", + "measuredW": "150", + "measuredH": "100", + "x": "1343", + "y": "2338", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.3615265006408208, + "y": 100.19826933447257 + }, + "p1": { + "x": 0.38164577983369, + "y": -0.034961851688536195 + }, + "p2": { + "x": 150.88885385805747, + "y": 0.2683629375324017 + } + } + }, + { + "ID": "9180", + "typeID": "Arrow", + "zOrder": "9", + "w": "186", + "h": "158", + "measuredW": "150", + "measuredH": "100", + "x": "1309", + "y": "2280", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.20826735231958082, + "y": 158.4034627624369 + }, + "p1": { + "x": 0.391497018853736, + "y": -0.06759950582800651 + }, + "p2": { + "x": 186.15378938206936, + "y": 0.2865222609493685 + } + } + }, + { + "ID": "9181", + "typeID": "Arrow", + "zOrder": "8", + "w": "158", + "h": "54", + "measuredW": "150", + "measuredH": "100", + "x": "1329", + "y": "2463", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.4472357365100379, + "y": 0.4969798147108122 + }, + "p1": { + "x": 0.5758841707679976, + "y": 0.07010415474419213 + }, + "p2": { + "x": 158.5641762379978, + "y": 54.88920734722251 + } + } + }, + { + "ID": "9182", + "typeID": "Arrow", + "zOrder": "7", + "w": "174", + "h": "106", + "measuredW": "150", + "measuredH": "100", + "x": "1312", + "y": "2463", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.4472357365100379, + "y": 0.4969798147108122 + }, + "p1": { + "x": 0.5758841707679977, + "y": 0.07010415474419214 + }, + "p2": { + "x": 174.2992407139859, + "y": 106.08404926817502 + } + } + }, + { + "ID": "9183", + "typeID": "Arrow", + "zOrder": "6", + "w": "177", + "h": "160", + "measuredW": "150", + "measuredH": "100", + "x": "1312", + "y": "2466", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": -0.26186159965664046, + "y": 0.02685086273459092 + }, + "p1": { + "x": 0.5758841707679977, + "y": 0.07010415474419225 + }, + "p2": { + "x": 176.8291117620097, + "y": 160.0061478487105 + } + } + }, + { + "ID": "9184", + "typeID": "Arrow", + "zOrder": "5", + "w": "187", + "h": "209", + "measuredW": "150", + "measuredH": "100", + "x": "1298", + "y": "2467", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": -0.17615236378765076, + "y": 0.2917863867464803 + }, + "p1": { + "x": 0.5758841707679977, + "y": 0.07010415474419218 + }, + "p2": { + "x": 187.03430518997402, + "y": 209.60356880918653 + } + } + }, + { + "ID": "9185", + "typeID": "Arrow", + "zOrder": "4", + "w": "218", + "h": "278", + "measuredW": "150", + "measuredH": "100", + "x": "1270", + "y": "2458", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": -0.004733892049443966, + "y": -0.23027684487260558 + }, + "p1": { + "x": 0.5236760686488061, + "y": 0.057202713764446064 + }, + "p2": { + "x": 217.5641762379978, + "y": 278.05553843774624 + } + } + }, + { + "ID": "9186", + "typeID": "Arrow", + "zOrder": "3", + "w": "200", + "h": "208", + "measuredW": "150", + "measuredH": "100", + "x": "1291", + "y": "2224", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.20826735231958082, + "y": 207.4034627624369 + }, + "p1": { + "x": 0.391497018853736, + "y": -0.06759950582800654 + }, + "p2": { + "x": 200.35898281003347, + "y": -0.24334878707486496 + } + } + }, + { + "ID": "9187", + "typeID": "Arrow", + "zOrder": "2", + "w": "235", + "h": "324", + "measuredW": "150", + "measuredH": "100", + "x": "1255", + "y": "2462", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": -0.18396018019234361, + "y": -0.4354702728369375 + }, + "p1": { + "x": 0.5236760686488061, + "y": 0.05720271376444608 + }, + "p2": { + "x": 235.09404728602158, + "y": 323.3880238742104 + } + } + }, + { + "ID": "9188", + "typeID": "Arrow", + "zOrder": "1", + "w": "160", + "h": "207", + "measuredW": "150", + "measuredH": "100", + "x": "1008", + "y": "2454", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": 0.30540490036810297, + "y": 207.55083607344523 + }, + "p1": { + "x": 0.5414642109768111, + "y": 0.22898488490104937 + }, + "p2": { + "x": 159.83059520292386, + "y": 0.1438567416173555 + } + } + }, + { + "ID": "9189", + "typeID": "__group__", + "zOrder": "78", + "measuredW": "391", + "measuredH": "55", + "w": "391", + "h": "55", + "x": "779", + "y": "648", + "properties": { + "controlName": "ext_link:roadmap.sh/backend" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "391", + "h": "55", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "4273622", + "borderColor": "4273622" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "316", + "measuredH": "28", + "x": "38", + "y": "14", + "properties": { + "size": "20", + "color": "16777215", + "text": "Visit Backend Developer Roadmap" + } + } + ] + } + } + }, + { + "ID": "9190", + "typeID": "__group__", + "zOrder": "257", + "measuredW": "391", + "measuredH": "55", + "w": "391", + "h": "55", + "x": "849", + "y": "2642", + "properties": { + "controlName": "ext_link:roadmap.sh/backend" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "391", + "h": "55", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "4273622", + "borderColor": "4273622" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "316", + "measuredH": "28", + "x": "38", + "y": "14", + "properties": { + "size": "20", + "color": "16777215", + "text": "Visit Backend Developer Roadmap" + } + } + ] + } + } + }, + { + "ID": "9191", + "typeID": "Arrow", + "zOrder": "0", + "w": "1", + "h": "194", + "measuredW": "150", + "measuredH": "100", + "x": "1010", + "y": "2683", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": -0.3586399639038973, + "y": 0 + }, + "p1": { + "x": 0.3294117647058822, + "y": 0 + }, + "p2": { + "x": -0.3586399639038973, + "y": 194.42473260131646 + } + } + }, + { + "ID": "9192", + "typeID": "Canvas", + "zOrder": "258", + "w": "388", + "h": "177", + "measuredW": "100", + "measuredH": "70", + "x": "384", + "y": "2564" + }, + { + "ID": "9193", + "typeID": "Label", + "zOrder": "259", + "measuredW": "235", + "measuredH": "32", + "x": "412", + "y": "2590", + "properties": { + "size": "24", + "text": "Note on Listed Topics" + } + }, + { + "ID": "9194", + "typeID": "Label", + "zOrder": "260", + "measuredW": "304", + "measuredH": "25", + "x": "413", + "y": "2627", + "properties": { + "size": "17", + "text": "The roadmap is not an exhaustive list of" + } + }, + { + "ID": "9195", + "typeID": "Label", + "zOrder": "261", + "measuredW": "324", + "measuredH": "25", + "x": "413", + "y": "2654", + "properties": { + "size": "17", + "text": "topics. It’s just some of the most important" + } + }, + { + "ID": "9196", + "typeID": "Label", + "zOrder": "262", + "measuredW": "216", + "measuredH": "25", + "x": "413", + "y": "2681", + "properties": { + "size": "17", + "text": "Topics under each category." + } + }, + { + "ID": "9198", + "typeID": "Canvas", + "zOrder": "263", + "w": "462", + "h": "119", + "measuredW": "100", + "measuredH": "70", + "x": "1250", + "y": "697" + }, + { + "ID": "9199", + "typeID": "Label", + "zOrder": "264", + "measuredW": "106", + "measuredH": "28", + "x": "1276", + "y": "722", + "properties": { + "size": "20", + "text": "References" + } + }, + { + "ID": "9205", + "typeID": "__group__", + "zOrder": "265", + "measuredW": "389", + "measuredH": "26", + "w": "389", + "h": "26", + "x": "1277", + "y": "764", + "properties": { + "controlName": "ext_link:khalilstemmler.com/articles/software-design-architecture/full-stack-software-design/" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Label", + "zOrder": "0", + "measuredW": "356", + "measuredH": "26", + "x": "33", + "y": "0", + "properties": { + "size": "18", + "text": "Khalil’s Software Design & Architecture Map" + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "1", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "1", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "10066329" + } + } + ] + } + } + }, + { + "ID": "9211", + "typeID": "Label", + "zOrder": "266", + "measuredW": "18", + "measuredH": "36", + "x": "349", + "y": "1008", + "properties": { + "size": "28", + "text": "V", + "color": "10027263" + } + } + ] + }, + "attributes": { + "name": "New Wireframe 1 copy", + "order": 1000022.7455786733, + "parentID": null, + "notes": "" + }, + "branchID": "Master", + "resourceID": "8024860B-B61F-451D-B579-28AA621BB239", + "mockupH": "2431", + "mockupW": "1363", + "measuredW": "1712", + "measuredH": "2877", + "version": "1.0" + }, + "groupOffset": { + "x": 0, + "y": 0 + }, + "dependencies": [], + "projectID": "file:///Users/kamranahmed/Desktop/devops%20roadmap%5C.bmpr" +} diff --git a/public/roadmaps/software-design-architecture.png b/public/roadmaps/software-design-architecture.png new file mode 100644 index 000000000..d30910269 Binary files /dev/null and b/public/roadmaps/software-design-architecture.png differ diff --git a/public/sitemap.xml b/public/sitemap.xml index c1b8d3eb0..907573c43 100644 --- a/public/sitemap.xml +++ b/public/sitemap.xml @@ -102,6 +102,18 @@ 2022-09-26T21:37:21.827Z 1.0 + + https://roadmap.sh/software-design-architecture + monthly + 2022-10-03T17:03:35.645Z + 1.0 + + + https://roadmap.sh/guides/http-basic-authentication + monthly + 2022-10-03T19:59:14.191Z + 1.0 + https://roadmap.sh/guides/basics-of-authentication monthly