Course Hive
Search

Welcome

Sign in or create your account

Continue with Google
or
Build Google Docs | A Real-World LLD Project | Document Editor LLD |
Play lesson

System Design Full Course - Build Google Docs | A Real-World LLD Project | Document Editor LLD |

5.0 (4)
27 learners

What you'll learn

This course includes

  • 34.3 hours of video
  • Certificate of completion
  • Access on mobile and TV

System Design Full Course Build Google Docs | A Real-World LLD Project | Document Editor LLD |

Build Google Docs | A Real-World LLD Project | Document Editor LLD | Transcript and Lesson Notes

حنجی تو فر کرے سراد سو Welcome Back Quader RB Toural LED Series آج اس ویڈیوں میں ہم نے ابھی تک جیتنی بھی تھیری پڑی ہے چاہی وہ سوالی دیزن Principle سو یہ Object or Interprinciple سو اس سب کو ہم اپلای کریں گے آج ایک Example میں اور اس سے آپ کو ایک Introduction

Quick Summary

حنجی تو فر کرے سراد سو Welcome Back Quader RB Toural LED Series آج اس ویڈیوں میں ہم نے ابھی تک جیتنی بھی تھیری پڑی ہے چاہی وہ سوالی دیزن Principle سو یہ Object or Interprinciple سو اس سب کو ہم اپلای کریں گے آج ایک Example میں اور اس سے آپ کو ایک Introduction

Key Takeaways

  • Review the core idea: حنجی تو فر کرے سراد سو Welcome Back Quader RB Toural LED Series آج اس ویڈیوں میں ہم نے ابھی تک جیتنی بھی تھیری پڑی ہے چاہی وہ سوالی دیزن Principle سو
  • Understand how System Design fits into Build Google Docs | A Real-World LLD Project | Document Editor LLD |.
  • Understand how Low Level Design fits into Build Google Docs | A Real-World LLD Project | Document Editor LLD |.
  • Understand how High level Design fits into Build Google Docs | A Real-World LLD Project | Document Editor LLD |.
  • Understand how System Design for Beginner fits into Build Google Docs | A Real-World LLD Project | Document Editor LLD |.

Key Concepts

Full Transcript

حنجی تو فر کرے سراد سو Welcome Back Quader RB Toural LED Series آج اس ویڈیوں میں ہم نے ابھی تک جیتنی بھی تھیری پڑی ہے چاہی وہ سوالی دیزن Principle سو یہ Object or Interprinciple سو اس سب کو ہم اپلای کریں گے آج ایک Example میں اور اس سے آپ کو ایک Introduction بھی مل جائے گا کہ جب بھی آپ ایک اللیگہ انٹرவیو دیتے ہو تو آپ ایک проблем کو کیسے اپروج کرتے ہو کیسے کیسے Example کا آپ Low Level Design Create کرتے ہو تو ہم شروع کریں گے سب سے پہلے ایک Bad Design مراکے اور اس کو Slightly Improved کریں گے دیری دیری جب تک ہم ایک Arguیبلی Better Design تکنا پوچھا پہلے تو چاہی وہ Start کرتے ہیں آجو Screen Pair تو سب سے پہلے دیکھتے پروبلوم STATE MENT کیا رہنے والی ہے ہماری آج ہم سب سے پہلے ایک Document Editor رہنے والے چاہی وہ Start کرتے سب سے پہلے دیکھلے ہیں اس Documents Editor میں Features کیا رہنے والے اور اس کو ہم کیا سیمpleمن کریں گے تو دیکھو Document Editor ہوتا گیا کہ ہمارے پاس بیسکلی ایک Document ہوگا بیسکلی اب اس کو آپ منصق تو Frentend Pag View ہے جس میں User ایک Document کو Edit کر سکتے تو اس میں وہ کیا کیا کر سکتے لیکسے اس میں وہ Text Tull sکتے تو میں ایسے لکلے تھا کہ User Document Pay Text Tullے کا Text 1 Text 2 اس میں وہ ایک Image Binsid insert کر سکتے ہیں ایسی وہ ایک Text Tull sکتے لیک دیری تو ابھی میں ایسا مانتے ہم کہ ہمارے جو Document Editor ہم وہ صرف Text اور Image کو Support کرتے ہیں پر یہ جو Editor یہ Scalable Hona چاہیے بیسکلی کل کو اس میں Table s بی Support it ہونے چاہیے Rite اور کچھ نیا لیکسے Video's آج ہے تو وہ بھی Support Hona چاہیے اور Document Editor میں مکا دال سکتے ہیں لیکسے اور بھی کسی بھی طرح کر Editing چیزیں جسے ایک فاونٹس New Line Tab Space یہ سب Support کرنا چاہیے تو یہ Scalable Design ہمیں Create کرنے ابھی کلی ہم just Mining کیمیں Text اور Image کو Support کر بانے چاہیے چاہیے اس کو بھی ہٹا دیری اب آپ سمجھ گیا ہمیں ایسا مجھے دیری ہونے چاہیے اور وہ دیکھنے کیا سے والے ہیں چاہیے تو ابنا ہم اس Problem کو جب اپروچ کرنے جا رہے ہیں اس سے پہلے ایک چھوٹیسی تھیریہ بس وہ سمجھ لے تھے تھی جب بھی آپ ایک LED کی پروچ کروگے نہ تو دو طریقی ہوتے کسی بھی design کو اپروچ کرنے کے ایک ہوتا ہے top down approach اور ایک ہوتا ہے bottom up approach کیا اب کیا ہوتا top down or bottom up یو سکتا آپ نے DSF bagara میں بھی پڑا اور right top down approach بسیکلی وہ اپروچ ہوتی ہے جس میں ہم جب بھی کسی اپلکیشن کو design کرتے ہیں تو اس اپلکیشن میں جو سپسے top most objects ہم پہل اس کو بلنہتے ہیں فور ایک زمپل جب اسم ہم Documents ایڈیٹر بنانے جو top most object کی پورا کا پوری ہماری اپلکیشن کا جو main object ہے وہ کیسے دیکھیں اور فور اس کے اندرم چھوڑے چھوڑے چھوڑے اپجٹ کرتے ہیں اور ان کی دیپینڈنسیز بنانتے ہیں چکے اون دیادہ رہن جو مری باٹھم میں بپروچ ہوتی ہے اسم میکد ملٹا کرتے ہیں پہل ہم سپسے پہلے سارے چھوڑے چھوڑے اپجٹس کو create کر لے ایک اون کی دیپینڈنسیز بنانتے ہیں اور اس کے بعد ہم بڑے آبجیکس create کرتے ہیں اور ان کی دیپینڈنسیز کے ساتھ بنانتے ہیں اب یہ پروچ دیڑے دیگہ ہم سالف کریں گے تو اپکھ سمجھاتی رہے گی کونسی top down اپکھ سی bottom up جنگری میں ہمے شا bottom up اپروچ ہوتا زادتا انفیک دوولپٹ جب بھی الیڈی کا انٹروی دیتے ہیں الیڈی پرویشن سالف کرتے ہیں کچھ کشن س میں top down ڈی کرنہ ضروری ہوتا ہے but ڈیڈی کا بیٹھر ہوتی ہے اگر آپ top down ڈیس کروگن کشن س میں وہ کشن س کون سے ہوں گے وہ ہم جب کشن ہے تو دیکھیں گے پر اس کشن میں bottom up ڈی پروچ چکنے والے ہیں آپ بھی دیڑے دیڑے ٹیڑے ٹیڑے ٹیڑے ٹیڑے سا سمجھ چیگیں آپ کو کونسی اپروچ سوت کر دیئے آپ کو خوزکتے بوتم بھی پروچ چکنے باکی آپ پیڈیپن کرتے ہیں تو چاہلو یہ ہو گئی ساری تیاری اب ہم اپنے پر اپنے پر آکہ اپنے پر انڈرسٹن کویشن پیڈی کہ ہمیں دکیمٹ اڈیٹر منا نا ہے جسے گوگل داکسی ہوتا ہے اپنے سلے مجھے ساری فیٹھر تو نہیں دل سکتے نا کی آپ سکسپٹ کیا تھے کیا آپ ایک آتے ہیں ایک آتے ہیں ایک دو فیٹھر اس کو اکسپٹین کردو اس کھڑ دیائی نارکی ٹیکٹھر اکسپٹین کردو باکی اس کو اسکلی والمنا نا دو کی کلگو سے اکسٹین کرنا تو ایسلی اکسٹین کردو جائے بس یہ ہوتا ہے چاہلو اب ایک بڑ دوبارا سے سے لکلے دنگ سے اور سٹاٹ کردے تو ہمیں قریعت کرنا ہے ایک دکیمٹ اڈیٹر گلس اڈیٹر اپنیگیشن تو ایک بر ہمیں کیا درسکس کیا تھا کہ ایک دکیمٹ اڈیٹر میں ہمارے بہت سارے ٹیکس چھو سکتے ہیں اور ایمے جو سکتے ہیں تو سپسے پہلے ہم ایک بیٹھ دیزائیں گے اور اس کو دو حردیرے میں مبروف کریں گے تو ایک کام کرتے سپسے پہلے ہمارے اپنی قلاسی بنالے ہیں دکیمٹ اڈیٹر کلس اور اس کلاس میں ہم سب کچھ کریں گے جیسے سے دکیمٹ اڈیٹر ہو سکتے ہیں تو ایک دکیمٹ اڈیٹر میں کیا کیا بھیحیر کیا بیسکلی ویریبالز کی کوھونے چھیں گے سپسے پہلے تو اب دھہان سے دیکھو اس دکیمٹ اڈیٹر میں کیا ہے بہت ساری ٹیکسٹور بہت ساری ایمیجی سارے ہوں گے تو ایک کام کرتے ہیں سپسے پہلے ہم ایک لستف ایک دکسٹ کو ریمیجیس کو سٹور کرالے تھا اب ہم دو چیدے کرتے ہیں یا تو ہم ٹیکسٹ کا ایک ایلگ لسترک ہے پر پھر جب ایوزر ایک ٹیکسٹ لگا و ایمیجیس کرتے ہیں فیٹیکسٹ لگا ایوزر کیس آردر میں ٹیکسٹ و ایمیجی دال رہی وہ ہمیں درمائن کرنا مشکل ہو گا ہے تو ایک کام کرتے ہیں ایک ایلگ لسترکتے ہیں جس میں ہم ٹیکسٹ بھی رکھیں گے اب دوسراگویشنہ میں ہے تجھے بوجنہ ہے کیا ہم ٹیکسٹ و ایمیجی کو کون سے دیٹی ٹائٹ میں سٹور کرے تو我们会有一个 methodonach.addText which will take extreme text Right We can add the same image We can add the same methodonach which will take extreme text We will take the same path Now we can say that we have another method which we can call as render document Okay Now what can we do with this method This is your friend and 30 which has a user document which is adding text and images and then we will give you a button Let's say render document which will click on it The whole of its output will be shown that the document is written Okay It will be in the rendered way So we will say that our method will be rendered document What will we do We will loop through this list We will loop through this list and we will render it like this I believe that we will render the entire document and give it an output in extreme So we will see in the code How we will do it It is obviously business logic Now we will do our architecture Okay So we have seen the rendered document that we can do this method For this we have a last method that we can give another button Save to file or save to option that we can save or we can save it in any file or we can save it in database But let's see in the later one What do we do with this data? Now we will just give a file to the file Okay So we have said that we will keep all these methods and all these variables in a document editor We have a lot of elements We can add elements from the text editor We can render that document and save to file So this is our complete a motor-motor document editor Okay Now obviously we have put everything in one class First we will see the code and then we will see the bad design and now how we can improve it Let's see the fat effort code So this is your code screen What we have done first We have made a class of the document editor in the same way We have again said that we will make a list of the documents so we have declared the vector string document Now we have kept a variable called render document What is this string type? Basically what will we do? The document render will be saved in this string So that we don't have to render the document whenever we run the code or save to file So let's see how we will use it First we will see the method We have a text We don't do anything and we will do the same in this vector Same as the same as the same as the same and we will do the same in this document's list Now our main is our rendered document Now see we have written the same as the method like the implemented method This is what we call business logic Now business logic can vary Anything can be done Basically the low level design will be interviewed This matter doesn't matter how good your business logic is This matter is the code of your business logic Business logic can change So now we have kept logic here What we will do first is that our variable is rendered document If it is empty If it is not empty then we will go to else We will return the render document Our document is already rendered If it is not empty then we will make a string and we will see We are looping this document on the list And when we loop it we will find out in a hack that our current string is in this vector It is an image or text So we are checking the hack that it should be bigger and it is basically dot jpg or dot png So if it is png or jpg we will agree that image We are rendering it like this What we are doing?

We are basically in a square bracket image dot dot and we are printing a new image and we are printing a new line Now you can think that you can render this image You can literally see which one you can file You can use the library for that C++ And if it is not image then we are going to do a text to render it Simply whatever text is there we are going to do with the new line and render it And we are going to do a result And as our loop is finished basically we are going to finish all the elements We are going to do a render document and we are going to do a result and return it So this is our entire method of the render document Now the last step was to save to file method Again how we are saving the file We can use the off stream of the file for C++ If you don't know the file handling You don't know anything You don't know anything We did not do anything We did a document of a document of a text called a folder We opened the file We called the render document method which is a rendered document which is a string called a document which is a document of a document in a rendered way We have added a file into it and we have closed the file First we opened the file and closed the document and printed it that the document has successfully saved If there is any problem in this we would go to the else and we would print the open file in the open file We could have used a try catch block We would have handled the exception in the catch But again it is all dependent It is all a business logic We should see that we have handled the architecture on the whole Now we will move on to our main Main is our client code We have discussed the client that will use the document editor in our application So how we will make this First we will add an editor We will text it in the hello world and then we will print the document render in the console and we will file it and see how we can run it This is our print hello world image and this is our document editor and then we will see this is our document and then we will print it Now we will move on to the screen So we have seen the code of the document editor Now we will discuss what is the problem in this architecture Now you have read the object and you have read the entire design and design So you can think first of all we are using the single responsibility principle Why is it breaking? Because the only method is the document editor This is the responsibility to edit the text and image to render the document to save the file So we have to change the multiple render So the single responsibility principle is breaking the open closed principle Now why is it breaking the OCP? See Now we have to add a new element as we talked about It should be scalable Now we have text and image supported We will support the video We will support the new line We will support the brakes We will support the italics or the font color Now we have to support the class and we have to put the method Basically we are using the open closed principle Now we have to use the list of the solution This is not the right way It is not the right way It is not the right way It is not the right way Now we will try The single responsibility principle is the open closed principle It is the right way If we follow the rules we will have to follow the principles So we have to follow the rules We will have to follow the rules and see how we can follow the rules So what was the right way The document editor is handling many functionalities This is also working to add text and image The document is also doing to render and is also doing to save the file First of all We have the list of elements which we have added We have added the vector string We have to remove it This is the document editor We have added elements We have added multiple document We have added multiple document We have added multiple text We have discussed that we have to support videos We will use the polymorphism to support this We have discussed how to support polymorphism We have discussed We will remove it and put it in a different class We will make an abstract class and then we will put all the classes and then we will depend on the class and then we will depend on the class and then we will take it out and put it in a different class and then we will take it out and then we will take it out Now we will recreate our design First of all we will make a document element with a contract If we say contract If we say contract If we say interface then we will say abstract class Now we will say abstract class We have made an abstract class which has a single method which has a name and it has a name and it has a name Basically it knows how each element has a render Now it has a abstract class and we have declared it and we will create a definition of its multiple and we can create a definition which we have Yes We have a text element We have a image element Now we will create different classes Now it's easy We can create a new class in this element and we can add this element Now we will put it پھERRARCY PENKIL DECYMENT نا بہتنے بھی دونوں میں رہندر کا مثلا جائے گا ورائد اور ہمیں سے اووورائد کرنا پڑے گا اب ٹیکس ٹیمینٹ کو پتا ہے کہ ٹیکس کو کیسے رینٹر کرتے ہیں same image element کو پتا ہے ایمےچ کو کیسے رینٹر کرتے ہیں اور یہ ہماری اپسٹیک ٹیمینٹ ہے تو بیسی کی ہم نے کیا کہا کہ یہ ہائرار کی دیسائد کرے گی کی کسی بھی دکیمینٹ کو رینٹ دکیمینٹ کو رینٹر کیسے کیا چاہتے ہیں ہم یہاں پہیں اپنے نی کلاسس کو بھی ایڈ کر سکتے ہیں یہ جو دکیمینٹ دیسی کی منا جو لیسٹ بنای ہے اس پہ قرعد اپریشنز پر فام کر سکتے ہیں بسیگسی میں نی الیمینٹ کو ایڈ کر سکتے ہیں نی الیمینٹ کو ریموف کر سکتے ہیں یہ سب کر سکتے ہیں تو آپ اس کو بھی قریق کر لے تھی سب سے بھی لے تو یہ ہماری اپسٹیک ٹیمینٹ کلاس اب ایس دکیمینٹ کلاس میں ہم کیا ریلے سیٹھن رکتے ہیں ایس دکیمینٹ الیمینٹ کا دکیمٹ, حیزہ, دکیمٹ, ایلیمٹ اب یہاں پہر حیز ریلیشنشے پہنے یہ 1 is 2 many relationship کیا یا دہ ہمیں ہمارے ساتھ ہمارے پاس ہمارے پاس اولڈی ایک لیسٹ پڑی تھی لیسٹ پہلیمٹ سٹے گیا تو یہاں پہ بھی دکیمٹ کے پاس لیسٹ پہلیمٹ ایلیمٹ سونے چیے تو اگر اس کے پاس لیسٹ پہنے چیے تو یہاں پہنے کچھ کرتے ہیں اگر ہم لکتے ہیں 1 is 2 many relationship تو دکیمٹ is 1 is 2 many relationship with document element تو یہاں پہ بیسی کلیں ہم کیا کرتے ہیں ہمیں کلیسٹ بنا لیسٹ پہنے ویٹٹر لیسٹ پہنے دکیمٹ ایلیمٹ یہاں ہم نے کلیسٹ بنا دی دکیمٹ ایلیمٹ کی اسکوم ایلیمٹ سبول لیسے ہم کچھ بھی بھول سکتے ہیں اگر آپ منگے چلوں میں کیا کیا دکیمٹ ایلیمٹ کی کلیسٹ بنا لی اب اس لیسٹ میں یہاں کرتا ہے یہاں کرتا ہے اگر آپ ایک برکھول کے دیکھیں تو یہاں کریں گا اس ایلیمٹس کے لیسٹ میں لوب کرتا ہے ایلیمٹس اور ہربار کیا کریں گا جو بھی ایلیمٹ ہم تو جو بھی ایلیمٹ ہم اب یہاں ایلیمٹ کیا ہے دکیمٹ ایلیمٹ ہے یہ ایک ٹیکس ٹیلیمٹ بھی ہو سکتے ہیں ایمیج ایلیمٹ بھی ہو سکتے ہیں یہ دیپین کرتے آپ کے پوالی مورفیزم پہ اس ایلیمٹ پہ یہ کال کرتے ہیں یہ کنس ایلیمٹ مہتھڈی ہے یہ والرینٹ میں ایلیمٹ بھی ہو سکتے ہیں یہ بھی ہو سکتے ہیں تو یہ اس ایلیمٹ پہ دکانک کرتے ہیں تو اب وہ جو بھی ایلیمٹ ہم چاہئے وہ ٹیکس ٹیلیمٹ ہے یا وہ ایمیج ایلیمٹ ہم اسے خودисے پہتے ہو کہ اس کو رینٹر کیا ہے کیوں کہ اس نے کیا ہے اس کا رینٹر متھڈ کو کال کرتے ہیں اب دکیمٹ کو جانے کی ضرط نہیں ہے how to render and element کہ میری پاسے کی میتھڑے رینڈر میں کیا کرتا ہے اپنے لست میں لگتروک کرتا ہے اور وہ سب کے لینڈر فنشن کو کل کر دے تھا سمپل تکیا تو یہاں سے اس نے کیا کیا اپنے ریکویشٹ کو دیلگیٹ کر دیا اس داکیمٹ ایلیمٹ ایلیمٹ ایپجٹ پے تو بیسکل اس کو مکا کہتے ہیں اپنے کام کو دیلگیٹ کر دے نہ کسی اور ایپجٹ کو تو یہ جو رینڈر کا کام تھا اس نے دیلگیٹ کر دییاں پرسیستنس کلاس بنالے تھا ہے اور یہ بھی اپسٹٹ کلاس ہوگی تو اس کو بھی بولتے ہیں اپسٹٹ اس میں ہمارا ایکی میتھڑ ہوگا جس کو ہم بولیں گے سیب اب ایکی میتھڑ ہوگا جس کو ہم بولیں گے سیب اب اس کو ہم اوورائیڈ کر لے تھا بیسکلی نہرٹ کر لے تھا ملٹیپل سب کلاسے سے چائل کلاسے سے لیٹسے ایک ہماری کلاس ہو جائے گی تو ایک ہماری لٹسے کلاس ہو جائے گی سیب to file لٹسے ایک ہو جائے گی سیب to DB اب یہ بھی ایک سٹنڈیبل ہے کلکہ میں دیتابیس میں سٹور کرنا پڑھتے ہیں بعد میں میں کئی اور بھی سٹور کرنا پڑھتے ہیں تو اس کو سٹنڈیبل بناء کے رکھا ہے اور ان سب میں بھی سیب کا میتھڑھا جائے گا سیب سیب تو ہماری ایکی یہ ہیرار کی ہوگئے پرسیستنس کلاس کی ہیرار کی جیسے ہماری ایکی ہیرار کی ہوگئے تو اب file کو سیب کرنے کا کام اس پرسیستنس کلاس کہہے یا پہم نے ایک چیز میس کر دی کہ یہ جو سیب میں تھا ہے یہ ایک string لیتے ہیں file ۔ اب string ۔ یہ جو render document ۔ یہ یادہاں نے last میں دیسےس کیا تھا render میں string ۔ دے دے گا پورا کبر داکیمٹ تو اس string کو میا پاس کریں گے اور یہ file کو سیب کر دے گا basically this document ۔ یا تو file میں یا فیٹھ دیتے بیس میں دیکھا اب جو ہم نے سالی کی سالی قلصیز بنالی اب ہم نے ایک کلاس بنالی ہے which is called as جو ہم نے main class اس پورے کے پورے اپلکیشن میں جو کی تھی document editor editor جو ہم نے یہاں بھی بنائیتے دیکھا اب ہم نے document editor سے سب کچھ بہار نکال دیا تو اس document editor class ہم کہتاکتے ہیں اب اس کو بہت کچھ پتا ہونے کی ضرط نہیں ہے یہ document editor class ساری کی ساری اپنی جو پروبلم سے جو ایک کھو دیندل کر رہی دی یہ دیلگید کر دیکھتے گی باکی چیزوں کو تو دیکھتے ہیں document element کے پاہ editor کے پاہ کیا ہونا چی ہے سب سے پہلے تو اس کے پاس ایک document ہونا چی یہ بیکھ حیز ارریلیشنشی پونا چی سب سے پہلے اس document editor کے پاس ایک document ہونا چی ہے تو یہ بھی ہاں لکھلے تھے ایک document ہونا چی doc good اس کے علاوہ اس document editor کے پاس اور کیا ہونا چی ہے اس کے علاوہ اس کے پاس یہ persistence class بھی ہونے چی ہے یہ بھی ایک حیز ارریلیشنشی پہ کیونی چی تبیتے دیتی مستوى کر باپاہئے گا حرائید تو یہ بھی منشنگلے تھے کہ ہمارے پاسک persistence کا اپجیک پیئے لیٹھ سے اسکم DB بولڈے تھے شاٹ میں DB تیگے تو یہ تو اس کے پاس ہونے چی گے دیتی میمبڈس اب میمبر فنشنز کون گونسی ہو سکتے ہیں اب دیکھا میمبر فنشن یہاں پیم سیمی رکھے جو جو ہم نے ہاری یہ تھے کیوں کہ اس document editor سے تو klient interact کرتے ہیں یا میں پیلی بیٹسے اس کیا تھا تو ہمارے پاس Method same رہیں گے add text تو klient ہم ایک string دے گا text ki same ہم رکھیں گے add image klient ہم ایک پات دے گا ایک string تو جب بھی کیا ہوگا جب بھی add text call ہوگا یہ بیسکلی ایک نیاa document element دیکھے کیسٹیپ کو document element دیکھا text element vesey جب بھی add image call ہوگا یہ کرے گا اپنے رکوش کو delegate کر دیکھا add element call کر دیکھ document type اور یہاں پی کیا دیکھا document element میں image element دیکھا سمجھا رہے اب ایسے ہی ایک اور کیا Methods اس میں add ke lava ہمارے پاس کیا مچھڑ تھا ہمارے پاس مچھڑ تھا a render document دکھڑ تو ایک اگیں دوبارہ سے render document Method بنالیتے یہ render document کیا کرے گا یہ اس document کا render call کرے گا جس یہ render call کرے گا اس کو تو already پتے ہیں کہ میں کو document کو render کیسے کر رہے یہ اس میں loop through کرے گا اور چاہی وہ text element یہ image element اس list میں ایک اور کو render function کا call کرے گا تو ان کا basically یہ بلہ ان کا render method call کرے گا Wright, ھمارے پاس کیا دیکھا لازت میں ہمارے اور Method دال دیتے جو تا سیف ٹو فائل یا سیف ٹو فائل سیف ابھی سیف ٹو یہ persistence DB DB.save Method call یہ DB.save اب دیپنڈing اپنڈ اس DB Variable Document Editor DB Variable ہم نے سیف ٹو فائل کا Referen سیف ٹو Object سیف ٹو DB Object سیف ٹو DB Object سیف ٹو DB Object تو یہ ہو گیا پورا کا پورا ہمارہ Architekter یہ دیکھلو آپ جیسے دا ہوا بھارکمپلیٹ Architekter اب اس میں ایک چیسا مجھائی اس میں ایک جو Document Editor یہ جو Document Editor یہ اس کے بس Method DB.save add text add image render document or save لیکن اب نہ یہ کوئی بھی چیس کچھ سے انڈل نہیں کر رہا یہ دیکھو ساری کے ساری ریکویسٹ کو دیلگیٹ کر دیتے add text or add image کو دیلگیٹ کر دیتے دیلگیٹ دیلگیٹ کر دیتے save یہ persistence کو دیلگیٹ کر دیتے کہ تم درکے لو میر کو بس تم یہ ساری چیزے لاکہ کے دور میں کلاïن کو دوں گا اب اگر ہمیں کلاïنٹ بنانا پڑانا تم سمپل بولیں گے کہ یہ ہمارہ کلاïنٹ ہے جس کا بس ایک کام ہے جو صرف اس سے دکیمٹ ایڈیٹر سے تو کلاïنٹ کو بتاکھا کہ مجھ دکیمٹ ایڈیٹر سے بات کرنے اس کو مجھ چیزے لیے وہ مجھ چیزے لاکہ کسی کو مطلب نے کام سارا ہوں کیسے رہے تو same اب آپ دیکھ سکتے ساری چیزے ہم نے ہم نے کوشش کی کیم فولو کر باپاہیں ایک برس کا قورد دیکھتے اور دیکھتے ہیں اس میں بھی کوئی کمی رہے گئے یہ ہے یہ رہاں اس کا قورد اس کو دیکھتے ہیں کیسے بلکل سے پر سب سے پہلے ہم نے کہتہ کہ مجھ دکیمٹ ایڈیٹر کی ایک کسٹر کلاست بنادی اس میں ایک یاد ایک ہے اس کو ایک سٹین گروالیہ ٹیکس ٹیڑیڈ سے اس میں بھی ایک ایک شکتی ہے کیسے سیدھا کسیدہ ٹیکس کو ریٹن گردیا یادا جسے ہم نے اس و لے کلاست میں کیا کہتا کہ ٹیکس کو ریٹن گرن کرنے کیا کہاں زیدہ کہ دیدہ وہ ٹیکس رٹن کر دیتے تھے اور ایمےچ کو رہنٹ کرنے کہتے کیا کہاں ہم کلوز بریکٹ میں ایمےچ اور اس کا پاث دال دیتے تھے. تو same ہم اس میں کریں گے ہم نے سیدہ کا زیدہ ٹیکس ٹیمین کو رہنٹ کر کیاہ رہن کر رہا ہے جو بھی ہم رہتے ہیں وہی.

ایسے ہم نے ایمےچ ایمےچ ایمےٹ کو اوبریٹ کر باتیا ایمےچ کیا ہم نے پر اینٹر کیا ہم نے پیلے کیا تھا. same open bracket image اور فیریمچ کا نام ایمےچ کا پاث اور فیر بیکٹ لوز. اب دیکھو ہم نے کہاں کہ کیو کی open louse principal گا بسپوٹ کرنے لگا ہے اور ہم نے ایمےچ کو آیڈ کرسکتا ہے تو ہم نے ایمیینٹ new line ڈائڈ کر دیا یہ بی داکیمٹ ایمیٹ کو ایرٹ کر رہیں اور یہ اپناп کو reenter سے کرتا ہے بس ایک new line لگا ایک ایم نے ایک tabs пیس ایمیٹ to an اوبریٹ کر دیا. بیسکلی ای ایڈ کر دیا.

وہ بھی دکیمٹ ایلیمٹ کو انہریٹ کر رہے رہینڈر کیسے کرتے ایک ٹیپسپیس لگا کے ایسے دیکھا ہم نی اور بھی کلسس کو ایڈ کرتے رہے سکتے ہیں ہم کر سکتے فانٹ ہم اٹلیکس بولڈ انڈر لین کو چھو بیسی کے لینے ایلیمٹ میں نا سکتے ہیں اور اس میں مدھڑے ایڈ ایلیمٹ یہ کرتے ہیں same اس لست میں پوشبیہ کرتے ہیں اور اس میں مدھڑے رہینڈر اب دیکھو یہاں پہ رہینڈر کچھ سے کوشندلی کر رہا یہ کر رہا ہے ایک ریزلٹ آبجیک میں نا تا loop through کرتے ہیں اس پورے کی بوری لست میں اور اس ایلیمٹ کا جس میں loop through کر رہا ہے اس کا خود کر رہینڈر میں ترکال کر لے تھا اب دیپینڈ کرتے ہیں جو ایلیمٹ ہے off type document element یہ کون سیلیمٹ ہے اگر یہ ایمیج ایلیمٹ ہے تو یہ اس سے رہینڈر ہوگا اگر یہ ٹیکس ٹیلیمٹ ہے تو یہ اس سے رہینڈر ہوگا وہ دیپینڈ کرتے ہیں بس اس کو یہ پتے ہیں کہ مجھے کیا کرنا اس لست میں loop through کرنا اور ہر ایلیمٹ کا رہینڈر میں ترکو کال کر دینا اس کا کام اپنے ختم ہو گیا تو یہ ماری دکیمٹل آس تھی اس کے لابا ہم نے ایک برسستنس کلاس میں نہیں تھی آتے ہیں تو یہ اگر constructor اب اس کے ماثرت دیکھلے تھا فتافض بلکل سے میں جو پیلے تھے ایک ٹیکس ٹیکس ٹیکس ٹیکس ٹیکس ٹیکس ١٠١٠١٠١٠٠١٠١ٰ دکیمٹ میں یہ جو دکیمٹ تھی اس کو ریکوز دیلگٹ کر دے اس کا ایلیمٹ کوال کر دے ایک نو ٹیکس ١١١١١ٰ١١ ١٠٠١٠١٠٠١٠٤ اب دیکھو یہ کھوڑ بھی سیے مندلیں گا را گین یہ بھی دیگیٹ کر رہا ہی پرسیستنس کلس کے اندر تکے..Sorry..Pursistence ھل کے فائلز توڑج کے اندر تو یہ ہمارہ پورہ کا پورہ دکومٹ ایڈیٹر رو گیا اب اپنا کلائنٹ کا کوڑ دیکھلے دیکھلے دیکھلے ہیں our main mk-rindے اس نے گیا ایک پیلے دکومٹ بنائیا persistence بنائیا اور دکومٹ ایڈیٹر بنائیا ایڈیٹر اس میں دکومٹ ایڈیٹر پرسیستنسٹہ کامکتییا اب دیکھس نے persistence کامکتییا اس نے منایا فائلز توڑج persistence یہاں پیج آبجیک پاسو فائلٹائپ کا ہوا تو یہاں ایڈیٹر دا دکومٹ دکومٹ دکومٹ ایڈیٹر دا دکومٹ دکومٹ دکومٹ دکومٹ دکومٹ دکھا اب دیکھو ہم نے گیا ایڈیٹر میں Methods call کر لئے Add Text Add New Line یہ سب کچھ Methods call کر لگیا finally دکھاں دکھاں اور سیفٹاکیمٹ کر دیا تو اب دکھتاں ایڈیٹر میں سے رن کریں گے تو یہ دکھو ہمارے یہ Print ہو جیگا Hello World This is a real world document reader یہ انڈیٹرین گئی Tab New Line یہ مہجا گیا and this Safe to Text ایڈیٹر ایڈیٹر ایڈیٹر دکھاں یہ دکھاں یہ Print ہو یہ دکھاں جو آجو پیسکرین تو یہ تھا پورا کا پورا Architecture جو مہے بنایا ایک دکھاں اب دکھتے ہیں یہ کون کون سے Solid Principles کو فولو کر رہے تو دو بارا کر رہاں دیان سے دیکھیں تو کیا یہ Single Responsibility Principle کو فولو کر رہے میرے سب سے کر رہے کیونکی دیکھو اس میں ہر ایک دکھاں ایک ہی رسپونسپل ہے ایک دکھاں ہے اس ایلیمٹس کی لست کو ہندل کرنا Render Method تو یہ رہے پڑسیسٹنس کلاس کا کام ہے دیتا بیس میں فائل کو شٹور کرنا چاہی دیتا بیس میں کاری دکھاں دکھاں یہ ہے کلین سے انڈریک کرنا ایک دیکھتے ہیں اور باکی کی کیا یہ دلگیٹ کر دے تو اگی دکھاں دکھاں دیتا یہ دکھاں دکھاں دکھاں دکھاں دکھاں چاہیمے جلیمین پاس کر دو دکھاں کو فرک نہیں پڑے گا دکھاں کاری کلاینٹ ہے انڈریک کرنا ایک دکھاں اور وہی وہ ایک سپٹ کرنا تو لسکارف سپٹریشن پر دیتا ہے یہی کہتے ہیں کی جو سب ٹائپسے ہیں وہ رپلے سے بل ہونے چیئے اپنے پیرین ٹائپے تو یہاں کیاں یہاں تھی تو اپنے تھی اپنے تھی تو دو بارہ سے انڈریک کرنا ایک یہ اور ایک یہ انڈریک میتھڈ ہے اس میں سے ہے اور اس میں سے فرینڈ ہے اس میں کوئی بیک اچھٹر میتھڈ ہے جو بیسکلی جو ماریٹ سب ٹائپسے ہیں ان کو زبرزستی امپلیمن کرنا پڑے اور انٹرپس اگریگیشن پرزیبل بھی کہتا ہے کیاپنے انٹرپسے سو چھوٹہ رکھوں صرف وہی میتھڈ سرکھوں جو کلائنٹ اگریگیشن پر بھی کیا یہ بھی فولو رہے کیا؟ دپ کیا کہتا ہے؟ دپینڈن سے انویرزم ٹرنسپل کہتا ہے کیا ہے کہ ہائی لیوال موڈیول اور لیوال موڈیول ایک سات اگ بیسکلی آپ اس میں انٹریکنہ کر پاہ دیریکنی بلکہ ان کے بیچ میں ایک انٹرپسے سو ایک اپسٹیکشن ہوں تو آپ دھان سے دیکھوں تو اگر یہ اگر یہ ہمارے لیوال موڈیول ہوں اور دکیمٹ ہمارے دکیمٹ ہمارے لیوال موڈیول ہوں تو آپ اس میں دیریکنہ انٹریکنی کر پارے بلکہ ان کے بیچ میں ایک دکیمٹ ایلیمٹ نام کا ایک انٹرپسے ہے ایک بیسکلی اپسٹیکشن ہے اب دکیمٹ ایلیمٹ کیا ہے؟ ان کے لئے کنتریک کا کام کرتے ہیں کہ دکیمٹ کو پتا ہے کہ مجھے اس میں رہینٹر میں تکال کرنا ہے اور ان دونوں لولو لیوال کو پتا ہے کہ مجھے رہینٹر میں تکھو ایک انٹریکنی کر رہینٹ وہ پرسیستنس اپسٹیکشن کی طرف ہوگے گزر رہینٹ تو یہ بھی ایک دیپنڈنسی انویرزن принципل کی بات ہے کہ حیلیوال اور لولیوال آپ اس میں دیریکنی بات لگرپائے تو یہ دیپنڈنسی انویرزن принципل کو بھی فولو کر رہے تو یہاں پہم نے اپنے سارے کے سارے اپجیکٹ اور انٹر принципل اور سارے سالے سالے سالے سالے سالے سالے اچھا اس میں ابھی بھی کچھ کمی ہے اگر آپ خود سے کاؤنتر کوشنز کرو یا فیرگر آپے کللی انٹر بھی دیرے تو اُسکتا انٹر بھی اور آپ سے کاؤنتر کوشن کریں کی یہ جو دکمینٹ ایڈیٹر کلاس ہے نا مانا کی یہ صرف ایڈیٹر تکسٹ اور ایڈیمیچ کی فنشنلیٹر ایڈی اور اس میں بھی اس کو دلگیٹ کر دیتے ہے رہینڈر دکمینٹ یہ صرف دلگیٹ کر دیتے الغلک فائل کو الغلک کلاس کو بیسکلی پر اس کو still اس کے پاس یہ سارے میتر ہے رہینڈر دکمینٹ بھی نا چی ہے سیف بھی نا چی ہے اور ایڈیٹر ایڈیٹر ایڈیمیچ بھی نا چی ہے اور یہ سبط پہلے بھی تھا جو مرہ بیڈ دیزائیں تھا ٹک ہے مانا پہلے سبط کچھ ہاد قوڑڈ تھا سبط کچھ ہی خودی حندل کر رہا تھا اور یہاں پہلے سبط کچھ خودی حندل نہیں کر رہا بلکی ساری چیزے دلگیٹ کر رہا لیکن still اس کے پاس یہ میتر تو ہونے ضروری ہے یعنی کی اس کے پاس یہ نولی جونی ضروری ہے اب دعن سے ضرورنا اس کے پاس یہ نولی جونی ضروری ہے کہ باکی کلاس اس کے پاس کون کون سی فنشنیلیٹی ہے مالا مان لو کلکوں میں یہاں سے یہ جو رہینڈر رہنا اسی کو ہٹا دون تو میں اس کو ہٹانے کے بعد یہاں پی بھی کور چینش کرنا پڑے گا اس کو ہٹانے پڑے گا کیوں کہ یہ رہینڈر دکیمین کیا کر دیکھا تو اسی کا دورینڈر کوال کر رہے تو بیسکلی دکیمین ایڈیڈر کے باس نہ نولیج ہے موردن وڈن ریزنٹو چینش کی یہ دیکھلی رسپونسیبل نہیں ہے بیسکلی سینگل رسپونسیبلیٹی پینشکلی دیکھلی بریکنگر رہا یہ لون نہیں ہے بیسکلی ہمیں جیگلی دیگلی دیگلی کہ کبہ وہ بریک کر رہے اور کبہ پہ سے فولو کر رہے وہ thin line ہوتی ہے یہ پتا لگا کہ کیا اس بریک کر رہے یہ بریک کر رہے یہ فولو کر رہے اگر آپ مانتے ہو یہ بریک کر رہے فولو کر رہے کیوں کہ میں نے سارا کام دلیگلی گئیسی پے چل رہے میں اس میں اس کو ہندل نہیں کر رہے فقشتیلیٹی اس کو ہندل نہیں کر رہے تو یہ رسポенсیلیٹی سے فولو ہو رہے اور اگر آپ اگری کر رہے آپ کا بیسکل انٹرவیور اور آپ مل کے یا پھر کیسی اپنی اگر آپ کیسی کمپری میں گاں گاں گاں گاں گاں گاں آپ کا مینجر اور آپ کا رہے گری کر رہے کی ہا یہ فولو ہو رہے یہ فولو ہو رہے پر لیک سپوز آپ مانتے ہو فولو نہیں ہو رہے نہ تو یہا فولو ہو رہے اور لیک سے دکیمٹ لازم بھی same problام ہے دکیمٹ render کر کے کلاس بنالیت ہے جس کا کام ہو گا کسی بھی دکیمٹ کو صرف render کر لگا تو میں ہم ایکی مدھر کر گاں render اور اس میں دکیمٹ کیاں گاں اگر آپ کیاں گاں دکیمٹ D O C تو بیسکلی this has a دکیمٹ اب ہم نے آپ نے render رہے لئے یہاں پہم یہاں نحنہیں دیکھیں تو میں یہاں سے render کا مدھر کر لیاں اب اس کے پاس ایکی کامیں ایکی کامیں ایکیمٹ کو ایڈ کر لگاں دکیمٹ کیا ہوا تھی مدل لاز مدل لاز کا مطلب ہوتے ہیں کی اس کا جو کامیں نہ وہ صرف گرڈ operation کر رہے کسی بھی دیٹا ٹائق پے جسے ان ایڈیمٹس پہ یہ ایڈ کر سکتے ہیں ہم یہاں پہم اپڑیٹ دیلیٹ ان سب کا بھی مدھر لکسکتے ہیں اب دیٹ کا مدھر لکسکتے ہیں لیکن اپنان کے چلو کی اس کا بھی کامیں ان اس دیلیمٹس کے ساتھ کھیلنا بس render کا کام نہیں ہے یہ کامیں یہ دکیمٹ render کا اچھا یہ جو دکیمٹ render میں جو render méthod ہوگا اس کے اندر کیا لوچک لگا ہوگا ویراپس کو دھان سے سوچو یہ کیا کرتا ہوگا ہمیں بیسکلی اس دکیمٹ کا ایک مدھر بنانا ہوگا جو یہ اس دیلیمٹس کی لیسٹ لہ کر کے اس کو دے رہے تو جسی یہ ایٹھ لیمٹ ہے نا یہاں پہنے ایک کار مدھر بنانا ہوگا لیسٹ ایک گٹ ایلیمٹس تو جب آپ یہ مدھر کال کر ہوگا گٹ ایلیمٹس یہ گٹ ایلیمٹس کیا کرے گا یہ جو لیسٹ ہے یہ ریٹرن کر دے گا یہ ہم نے کیوں بنایا یہ ہم نے کیوں بنایا یہ ہم نے اس لے بنایا تاک یہ جو render métھر دے اس میں یہ لوجک لکسر کے کی یہ کیا کرے گا اس داک میں سب سے پہلے گٹ ایلیمٹس کال کر دے گا دیکھیں اور ایک برس کو سارے کے ایلیمٹس کی لیسٹ مل جائے گی اس کو ان ایلیمٹس کی لیسٹ پے لیسٹ پے لیسٹ پے لیسٹ کر کر کے یہ ان کا render métھر دکول کر دے گا یہ ان کے وہی کرے گا جو یہاں پیچھ جو render métھر میں لکھا تھا وہ کر رہا تھا بس یہ دیرٹلی کر پا رہا تھا کیوں کی جو لیسٹھی اس کا ایکس ایلیمٹس مجھر کے باستہ پہ دکمٹ رینڈر کے باستہ جیرٹ ایکس ایلیمٹس نہیں ہے وہ داک کے اندر جا کر کے وہیلیسٹ پیچھ کر دے اور فیر اس میں لوبھ through کر کر رینڈرمٹھر دکول کر دے لیکن اب یہ کام سے دکمٹ رینڈر کا بن گیا تو دکمٹھ ساٹھ دیا دوسرا ہم نے کیا کہ کی یہ جو دکمٹھ ایڈیٹر رہا اس کا کام سے فکلینٹ سے بات چیف کرنے گا نا چیے پہلینٹ سے کھیں اس کے باستہ دکمٹ رینڈر کا کوئی بہت کام سے دکمٹھ عہبجٹ ہوگا ہےہ اس کے باستہ ایک پڑسیستنس کا اپجیکٹ ہوگا تو یہ ان سب کے آبچکس کے ساتھ آپس میں کھیلے گا پہلے دکمٹھ بن گیا اس کو ایڈٹ کرے گا ایڈٹ کر نے کے لیڈٹر کو گول کرے گا اس کو رینڈر کر نے کے لیڈر رہا کو گول کرے گا اور فیلی اس کو پر اگر آپ یہاں سے کلایٹ کو ہٹا دو. آپ کو تو پتے کلایٹ تو ہمیشہ ہو گئی. جو انٹریک کرے گا. تو گر آپ کلایٹ کو ہٹا دو.

آپ من کے چلو کلایٹ تو ہمیشہ ہو گئی ہے. تو دیکھو یہ دیگر آپ میں دبارے سے رید روکیا. سارے کے سارے چیزے, سارے کا سارے میں سہٹاکے. تو آپ دیکھ سکتے ہو.

جو آپ نے بات کی دی. again یہ our document element ke haraar ki oge. یہ our persistence ke haraar ki oge. اور klient, sabkis at aapas m'interact kar raya.

اور document render a responsible effort document to render khandle kya kya kya kya khandle. اور document editor a responsible effort sirs at text or ad image khandle kya kya. تو یہاں پہ ہم نے کیا. ہم نے سارے کی سارے کی سارے responsability separat kar di.

ہم نے جو question raised ke eti. جس انтерவیان نے question raised ke eti. ان کو انسر گا. پر ابھی بھی ایک проблем ہے, جو اس میں دبارا جا ریے.

اور وہ آریے, جب ہم نے اس проблем کو solve ke ya. اور وہ problem hai. پرنسبل of least knowledge ki. یہ کہتا ہے.

دیکھو. پرنسبل of least knowledge, again a design principle, not design pattern, not design principle, جو solidi bhaat hai. ایک other design principle, a design, alexaic design principle hai. جو کہتا ہے.

ki you should always talk to your immediate friends. اس کا کیا مطلب, اس کا مطلبہ ستنا ہے. ki agar ab ki jobi klas hai na. ایک رینڈرمتر اتلے تھا, اور یہ رینڈرمتر کو call karta hai.

رینڈرمتر دکیمتر, it is talking to friend of friend, اور یہ علاونی ہونا چی ہے. اب آپ پوچھوں کے بھی یہ, یہ کی علاونی ہونا چی ہے. دیکھو principle of least knowledge na, یہ اس لیک ہے کہ علاونی ہونا چی. کیوں ki, اس سے نہ coupling bhaat tiya.

ایک دوسری کو tightly couple o jatiya application m. sahali klasis. ایک دوسری کو tightly couple o jatiya application m. ایک دوسری کو tightly couple o jatiya application m.

اس کو اس کے بارے میں بھی پت ہے اور اس کے دوسری کے بارے میں نہیں کی, اس کے ایک اور known kebare mi, which is document element. so یہاں پہ دیکھو document element indirecly its say dependent o, اب principle of least knowledge اور کہیں آگے ہم پھڑیں گے بہت سارے جا ہم design patterns patrowno, اس میں یوز ہوگی. ابھی کے لئے اب آپ بس یہ جانلو, ki principle of least knowledge کو سپوٹ کرنے گیے. یہاں پہ جو رینڈرمتھا ہے.

یہ نہیں اونا چی ہے. to aq render جو klasi نہیں اونی چی ہے. تو again am keya karenghe اس surrender goaap aise his document class mi liyenghe. یہاں پہلایں گے.

تو دو بارہ وہ principle break o jaayga ki single response operator principle is kebars knowledge hai. تو یہی میں نے starting my discuss ki aaat tha ki aap ko اور آپ کے interviewer ko. یہ آپ کو aaap ke a manager ko جس کے ساتھ آپ یہ low level design discuss kareo. تم دو رو کو this solution bhaarapadhe gaak ki valid design ki aaaya.

اب ہم نے یہ اپنى final design bhaaaya. ہو سکتا یہ interviewa raggi karei اور ہو سکتا interviewaus mme bhaa ki smthhoodabhaa changes kare kare karei kare karei karei karei. پر مجھے لکتے. ہم یہ best design aasak te te تو ہم یہاں تکاہیں.

ہم نے آپیں اپنى saare solid design principle ko follow garaa aa. جتنا ہو سکتا تھا. ابs ko follow garaa aa. ہمیں شکت رید اف تو رہے گای.

کچھ بھی LED میں perfect design kuchneo ہوتا. اسلے ہمیں شکتا یہ open ended questiono the. تو I hope you have understood this. I hope you have enjoyed this.

یہ پروبلم solve karene pe. و آپ کو ایک اوورویوں ملاوگا ki koi b LED problem ko میں solve kareneo. تو اب ہمیں لتا بھی اپنى ایک next lecture میں تبتا کلی ہے. Thank you so much.

Lesson FAQs

What is Build Google Docs | A Real-World LLD Project | Document Editor LLD | about?

حنجی تو فر کرے سراد سو Welcome Back Quader RB Toural LED Series آج اس ویڈیوں میں ہم نے ابھی تک جیتنی بھی تھیری پڑی ہے چاہی وہ سوالی دیزن Principle سو یہ Object or Interprinciple سو اس سب کو ہم اپلای کریں گے آج

What key concepts are covered in this lesson?

The lesson covers System Design, Low Level Design, High level Design, System Design for Beginner, System Design for advance level.

What should I learn before Build Google Docs | A Real-World LLD Project | Document Editor LLD |?

Review the previous lessons in System Design Full Course, then use the transcript and key concepts on this page to fill any gaps.

How can I practice after this lesson?

Practice by applying the main concepts: System Design, Low Level Design, High level Design, System Design for Beginner.

Does this lesson include a transcript?

Yes. The full transcript is visible on this page in indexable HTML sections.

Is this lesson free?

Yes. CourseHive lessons and courses are available to learn online for free.

Continue Learning

Course Hive

Continue this lesson in the app

Install CourseHive on Android or iOS to keep learning while you move.

Related Lessons

Related Courses

FAQs

Course Hive
Download CourseHive and keep learning anywhere
Get App