{"id":14,"date":"2023-02-15T20:55:00","date_gmt":"2023-02-15T20:55:00","guid":{"rendered":""},"modified":"2024-09-20T18:35:49","modified_gmt":"2024-09-20T17:35:49","slug":"high-level-vs-low-level-design","status":"publish","type":"post","link":"https:\/\/debuggersspace.com\/index.php\/2023\/02\/15\/high-level-vs-low-level-design\/","title":{"rendered":"High level vs low level design ?"},"content":{"rendered":"<div class='booster-block booster-read-block'>\n                <div class=\"twp-read-time\">\n                \t<i class=\"booster-icon twp-clock\"><\/i> <span>Read Time:<\/span>1 Minute, 32 Second                <\/div>\n\n            <\/div><h2>1. High-Level Design (HLD)<\/h2>\n<p><strong>Overview:<\/strong> HLD is the macro-level design phase that provides a broad view of the system. It outlines the architecture and major components of the system and their interactions.<\/p>\n<h3>Focus:<\/h3>\n<ul>\n<li>System architecture (e.g., client-server, microservices)<\/li>\n<li>Technology stack (e.g., programming languages, databases, frameworks)<\/li>\n<li>Major modules and how they interact<\/li>\n<li>Communication protocols between components<\/li>\n<\/ul>\n<h3>Audience:<\/h3>\n<p>HLD is primarily for architects, project managers, and clients who need to understand the overall structure of the system.<\/p>\n<h3>Purpose:<\/h3>\n<p>HLD ensures the system is aligned with business requirements, helping in resource planning and timeline estimation.<\/p>\n<h2>2. Low-Level Design (LLD)<\/h2>\n<p><strong>Overview:<\/strong> LLD is the micro-level design phase that details the inner workings of individual components. It describes how each module will be implemented.<\/p>\n<h3>Focus:<\/h3>\n<ul>\n<li>Detailed logic for each module<\/li>\n<li>Data structures and database schemas<\/li>\n<li>API definitions and workflows<\/li>\n<li>Pseudocode or code snippets<\/li>\n<li>Error handling and validation logic<\/li>\n<\/ul>\n<h3>Audience:<\/h3>\n<p>LLD is mainly for developers who will use this detailed information to write code.<\/p>\n<h3>Purpose:<\/h3>\n<p>LLD ensures that every component is designed optimally and integrates seamlessly with the system.<\/p>\n<h2>Key Differences between HLD and LLD<\/h2>\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"10\">\n<thead>\n<tr>\n<th>Aspect<\/th>\n<th>High-Level Design (HLD)<\/th>\n<th>Low-Level Design (LLD)<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Purpose<\/strong><\/td>\n<td>Overall system structure and architecture<\/td>\n<td>Detailed design of individual components<\/td>\n<\/tr>\n<tr>\n<td><strong>Abstraction<\/strong><\/td>\n<td>High (bird&#8217;s eye view)<\/td>\n<td>Low (detailed implementation)<\/td>\n<\/tr>\n<tr>\n<td><strong>Audience<\/strong><\/td>\n<td>Architects, Project Managers, Clients<\/td>\n<td>Developers<\/td>\n<\/tr>\n<tr>\n<td><strong>Components<\/strong><\/td>\n<td>Modules, system architecture, integration<\/td>\n<td>Detailed logic, data structures, APIs<\/td>\n<\/tr>\n<tr>\n<td><strong>Outcome<\/strong><\/td>\n<td>Architecture diagrams, technology stack<\/td>\n<td>Code, database schema, pseudocode, detailed designs<\/td>\n<\/tr>\n<tr>\n<td><strong>Focus<\/strong><\/td>\n<td>What components exist and how they interact<\/td>\n<td>How each component is built and functions<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Example:<\/h2>\n<p><strong>HLD:<\/strong> In a social media app, HLD would describe the architecture (e.g., microservices), key modules like user management, post creation, and how they communicate.<\/p>\n<p><strong>LLD:<\/strong> LLD would define the data structures, algorithms for sorting posts, database schema for users and posts, and specific API calls for each module.<\/p>\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>1. High-Level Design (HLD) Overview: HLD is the macro-level design phase that provides a broad view of the system. It outlines the architecture and major components of the system and their interactions. Focus: System architecture (e.g., client-server, microservices) Technology stack (e.g., programming languages, databases, frameworks) Major modules and how they interact Communication protocols between components [&hellip;]<\/p>\n","protected":false},"author":43,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","footnotes":""},"categories":[107,11,12,121],"tags":[150],"class_list":["post-14","post","type-post","status-publish","format-standard","hentry","category-architect","category-happiestmind","category-solution-architect","category-system-design","tag-systemdesign"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Himanshu Namdeo","author_link":"https:\/\/debuggersspace.com\/author\/admin\/"},"uagb_comment_info":2,"uagb_excerpt":"1. High-Level Design (HLD) Overview: HLD is the macro-level design phase that provides a broad view of the system. It outlines the architecture and major components of the system and their interactions. Focus: System architecture (e.g., client-server, microservices) Technology stack (e.g., programming languages, databases, frameworks) Major modules and how they interact Communication protocols between components&hellip;","_links":{"self":[{"href":"https:\/\/debuggersspace.com\/index.php\/wp-json\/wp\/v2\/posts\/14"}],"collection":[{"href":"https:\/\/debuggersspace.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/debuggersspace.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/debuggersspace.com\/index.php\/wp-json\/wp\/v2\/users\/43"}],"replies":[{"embeddable":true,"href":"https:\/\/debuggersspace.com\/index.php\/wp-json\/wp\/v2\/comments?post=14"}],"version-history":[{"count":6,"href":"https:\/\/debuggersspace.com\/index.php\/wp-json\/wp\/v2\/posts\/14\/revisions"}],"predecessor-version":[{"id":618,"href":"https:\/\/debuggersspace.com\/index.php\/wp-json\/wp\/v2\/posts\/14\/revisions\/618"}],"wp:attachment":[{"href":"https:\/\/debuggersspace.com\/index.php\/wp-json\/wp\/v2\/media?parent=14"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/debuggersspace.com\/index.php\/wp-json\/wp\/v2\/categories?post=14"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/debuggersspace.com\/index.php\/wp-json\/wp\/v2\/tags?post=14"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}