7. Design Tic Tac Toe game | Tic-Tac-Toe LLD Java | Low Level Design Interview Quest, System Design

  Рет қаралды 100,112

Concept && Coding - by Shrayansh

Concept && Coding - by Shrayansh

Күн бұрын

Пікірлер: 195
@manavyadav4382
@manavyadav4382 Жыл бұрын
I have been at this problem for 2 days and have been looking for a correct implementation and explanation. Finally found both in this video!! The only one on yt i think for tic tac toe. Thank you for realising that people start from basic problems❤
@ConceptandCoding
@ConceptandCoding Жыл бұрын
Thanks
@jaisamtani303
@jaisamtani303 2 жыл бұрын
@Concept && Coding , this is the optimization we can do: Instead of having while loop and then checking getFreeCells() again and again, we know that in 3*3 tic tac toe, player1 and player2 can play maximum 9 times. Thus, we can use simple for loop from 0 < i < board.size*board size. If any player wins in between, we mark winner flag to true and break, else if for loop is exhausted we know it is Tie, thus redundant getFreeCall() loop is avoided.
@shineinusa
@shineinusa 5 ай бұрын
Lol, you forgot to handle case explained in the video where player chooses wrong coordinate
@PankajGupta-gh9cm
@PankajGupta-gh9cm 3 ай бұрын
We can also take a variable of boadSize * boardSize and at every turn decrease it 1. check this condition at first place before taking row, column input.if the variable value 0. It means all cells are filled means it's a Tie;
@tanmayjain5821
@tanmayjain5821 2 ай бұрын
I have one suggestion to use Factory and Null design pattern for the Piece interface. So there will be a factory responsible for returning a piece based on the type that we pass and if we have no such type then we will return a default object. This will help our printBoard function to not use if else instead directly print the object.
@sameerchoudhary8590
@sameerchoudhary8590 10 ай бұрын
Thank you, this video cleared my understanding of relationships. Should have completed this before watching parking lot LLD.
@ConceptandCoding
@ConceptandCoding 10 ай бұрын
thanks
@manitshah4345
@manitshah4345 2 жыл бұрын
The parallel drawn wrt java implementation really enriched the content, great video sir😄
@ConceptandCoding
@ConceptandCoding 2 жыл бұрын
thank you
@Prashantkumar-pn6qq
@Prashantkumar-pn6qq 2 жыл бұрын
Suggestions : Design Deck of Cards, ATM Machine, Splitwise and Vending Machine. A different set of problems...
@RamKumar-kz8gg
@RamKumar-kz8gg 2 жыл бұрын
can you provide code for the same. It will be nice if you can make video explaining the code and approach. It's high time to start a you tube channel bro
@anantakumarsahu2658
@anantakumarsahu2658 Жыл бұрын
Your channel is pure Gold Shrayansh. Thank you so much for this awesome playlist ❤
@ConceptandCoding
@ConceptandCoding Жыл бұрын
Thank you
@anshumishra4193
@anshumishra4193 9 ай бұрын
Amazing video. One improvement I would suggest is the use of proper access modifiers for methods and variables. Making everything public might be acceptable if someone is interviewing for an SDE-1 position, but for anything above that, it’s important to ensure that proper scopes and access modifiers are applied to each variable and method.
@alekyaathaluri5123
@alekyaathaluri5123 2 ай бұрын
Hello Anshu
@jeelpatel02496
@jeelpatel02496 2 жыл бұрын
I think we can make the board as abstract class and extend it as per different game boards like tictactoeboard, chessboard etc... and we can separate out the logic of checking the winner to the board class. This will help achieve single responsibility principle and also make game class reusable.
@ConceptandCoding
@ConceptandCoding 2 жыл бұрын
thanks sounds good but need to vheck with complete flow but thanks for the input
@onepercentbetter3313
@onepercentbetter3313 11 ай бұрын
Initially it was said that all the videos are free but I still see many of them are locked. 😢
@world4376
@world4376 8 ай бұрын
🥲 same but its worth to spend 199
@anshumsharma3216
@anshumsharma3216 8 күн бұрын
Locked where?
@onepercentbetter3313
@onepercentbetter3313 8 күн бұрын
@@anshumsharma3216 LLD playlist
@onepercentbetter3313
@onepercentbetter3313 8 күн бұрын
@@world4376 but earlier said that it will be for free, also we know no one will do it for free
@AshishGusain17
@AshishGusain17 11 ай бұрын
Firstly, thanks for the video Shreyansh. I have 2 queries regarding the arrows that you used for class diagram: 1.) The relation between (Board and Pieces) and (Players and Pieces) seems to be of aggregation, but that arrow is not the sign of aggregation. 2.) What exactly that arrow represent as I have not seen that arrow anywhere in class diagrams?
@dpynsnyl
@dpynsnyl Жыл бұрын
Good one. Liked the way you have used code and white paper.
@ConceptandCoding
@ConceptandCoding Жыл бұрын
Thanks
@PujaSingh-qg5ln
@PujaSingh-qg5ln 4 ай бұрын
Thanks so much. Very insightful and helpful. Great work!!
@priyamraj298
@priyamraj298 3 ай бұрын
Hi, it's great. Just one suggestion that, we should have strategy patterns for deciding the winner of the game. It can help the devs have more fun game modes
@alekyaathaluri5123
@alekyaathaluri5123 2 ай бұрын
Hi Priyam Raj
@surendharv795
@surendharv795 5 ай бұрын
Correct me If I am wrong. Enumerations will violate the Open Close principle in SOLID principles. Hence I think the design should be improved to follow all the SOLID principles.
@you-can-do-anything
@you-can-do-anything Жыл бұрын
Just a suggestion , i think the GetFreeCells function is only acting as counter we can replace it with that and while checking IsWinner we can exit when we have first match rather than checking for all cases(except n queen).
@ConceptandCoding
@ConceptandCoding Жыл бұрын
Try it out buddy, logic sounds good
@prathmeshmahajan369
@prathmeshmahajan369 Жыл бұрын
Hi Shreyansh , thanks for the videos. Can you please make a video on how to structure our codebase. what are models , controllers , services etc...
@ConceptandCoding
@ConceptandCoding Жыл бұрын
Noted
@sasi3640
@sasi3640 Ай бұрын
what is the reason for having the *Piece* as an enum and *PieceType* as class wrapping the enum?? instead we can directly use the enum right?? without *PieceType* class
@SuyashD-cd9wr
@SuyashD-cd9wr 8 ай бұрын
Hi, This is really good. Keep up the good work.
@rohanchopra1995
@rohanchopra1995 4 ай бұрын
Can you please also explain the intuition behind choosing the design ? how do you decide when to which design pattern ? Also, when to have "is-a" or "has-a" relationship?
@aniketmahangare8333
@aniketmahangare8333 2 жыл бұрын
Hey shreyansh, why do we need to seprate class for PlayingPiece? We can use enums instead right?
@ConceptandCoding
@ConceptandCoding 2 жыл бұрын
Hi Aniket, to me Piece is an Object which can have both the things "Properties" and "Function". That's why i define it as an object. Rather than enum. But definitely you can also implement the same using enum
@aniketmahangare8333
@aniketmahangare8333 2 жыл бұрын
@@ConceptandCoding got it, btw thanks for this series Shreyansh. It’s an amazing resource to learn LLDs.
@ConceptandCoding
@ConceptandCoding 2 жыл бұрын
Thank you 🙏
@gauravarora5865
@gauravarora5865 11 ай бұрын
why do we need PieceX and PieceO classes. I mean couldn't we simply pass PieceType.X in constructor of playingPiece for a user.. How does this decision make it a better design?
@SHASHIKUMAR-pp4hg
@SHASHIKUMAR-pp4hg Ай бұрын
Hi , i have one doubt why do we require PieceX and PieceO separate classes , since we will never have any different implementation for class members . it can just be a data member what char does it represent . like public class Piece { private char sign; Piece(char sign){ this.sign = sign; } public char getSign() { return sign; } }
@ashutoshpandey4271
@ashutoshpandey4271 2 ай бұрын
HI @Concept && Coding, why are we using inheritance to create PieceTypeX and PieceTypeO, can't we directly use the enumeration? I am not able to understand. public class PlayingSymbolX extends PlayingSymbol{ PlayingSymbolX() { super(Symbol.X); } } here we are just having any constructor. Any specific reason to use this way?
@siddharthaaddy7401
@siddharthaaddy7401 Ай бұрын
How do i practice LLD, i understand when it is explained but i am unable to solve or even approach the problem when it is stated?
@your_name96
@your_name96 2 жыл бұрын
Sir, in this problem, in most interviews, the expectation would be the design + implementation of isThereWinner() method ? Keeping the core design same, I am writing a more generalized and optimised version, thank you sir
@ConceptandCoding
@ConceptandCoding 2 жыл бұрын
:) thanks
@justlc7
@justlc7 2 жыл бұрын
Have a doubt, is this enough for machine coding rounds? They are of 2-2.5hrs, and this can be coded in an hour max Can you clarify this
@ConceptandCoding
@ConceptandCoding 2 жыл бұрын
yes in my view, ot should be sufficient
@justlc7
@justlc7 2 жыл бұрын
Got it, one more doubt, why are we not making variables private and using getters/setters Is that not required for games or did I miss something? Thanks.
@ConceptandCoding
@ConceptandCoding 2 жыл бұрын
@@justlc7 that would be good practice, i am focusing more on design, might be some gaps in coding implementation parts
@justlc7
@justlc7 2 жыл бұрын
@@ConceptandCoding Got it, thanks for the prompt replies.
@amitjain3216
@amitjain3216 4 ай бұрын
Hey shreyansh, why we need to make a separate child class for each type of enum?? Doesn't it violate liskov substituion principle, where child class is narrowing down the abilities of parent class?
@alekyaathaluri5123
@alekyaathaluri5123 2 ай бұрын
Hi Amit
@amitjain3216
@amitjain3216 2 ай бұрын
@@alekyaathaluri5123 hi
@chippapruthvi2773
@chippapruthvi2773 Жыл бұрын
Hi Shreyansh, Do we need to make Playing Piece as an abstract class? as some one can directly create object of it without using PieceX and PieceO
@ConceptandCoding
@ConceptandCoding Жыл бұрын
Make sense, we can do that
@dhairyaparekh4739
@dhairyaparekh4739 Жыл бұрын
Amazing Content
@ConceptandCoding
@ConceptandCoding Жыл бұрын
Thank you
@akshatshah6413
@akshatshah6413 7 ай бұрын
Can anyone please tell Which lld pattern tells us that we should create PieceX and PieceO classes instead of passing piece type directly while creating player object
@ConceptandCoding
@ConceptandCoding 7 ай бұрын
Open closed principle, lets say in future you need to add more Piece, you can add it easily
@amitjain3216
@amitjain3216 3 ай бұрын
@@ConceptandCoding So shreyansh, if we pass pieceType directly to the player, how it will violate open closed principle?? Whenever we need a new pieceType, we have to add this in our enum either way and we can assign it to any new player?
@tresorone-e5s
@tresorone-e5s Жыл бұрын
wonderful video
@techworld7765
@techworld7765 Жыл бұрын
@Shreyansh can you pls clarify my doubt that why playing piece class and it's child class is created, we can simply use the PieceTypeEnum only, this will not violate solid principles
@ConceptandCoding
@ConceptandCoding Жыл бұрын
yes, we can, i just thought in future, if any more playing piece need to be introduced with some specific logic, we can add that here. but for this specific X and O you can you Enum too.
@adarshagrawal3373
@adarshagrawal3373 7 ай бұрын
We can apply strategy pattern for winner logic as in future we can have some different logic for finding the winner ? Shrayansh
@prachij
@prachij 5 ай бұрын
I am not able to find the n queen peoblem on your channel. Could you please share the optimisation logic for finding winner
@dhruvsinghal6451
@dhruvsinghal6451 5 ай бұрын
hi, here can you please explain what is the need of making separate classes for each playingpeice like can't we make a common class here, like enum pieceType then just make two objects of it with X and O type
@ConceptandCoding
@ConceptandCoding 5 ай бұрын
umm yea thats also correct
@amitjain3216
@amitjain3216 3 ай бұрын
Hey dhruv, can you please explain why we need a class for a pieceType in the first place?? We can just assign pieceType to each player through constructor only na??
@madhavmishra1864
@madhavmishra1864 2 жыл бұрын
Thank you for this LLD series. I always get confused between the is-a , has-a , etc. relationships. Could you provide me any book or resources in which I could improve this ?
@ConceptandCoding
@ConceptandCoding 2 жыл бұрын
Hi Madhav, you can refer "Head First Design Pattern" book, its good
@curiossoul
@curiossoul 11 ай бұрын
I think isthereawinner() can be moved to board class. Let me know if it makes sense
@sachinarora6682
@sachinarora6682 Жыл бұрын
Why do we need a deque? Wouldn't a queue suffice?
@ConceptandCoding
@ConceptandCoding Жыл бұрын
Right queue is sufficient too.
@RonitSagar
@RonitSagar 6 ай бұрын
i am not able to get playing piece class initialisation. How did we are assigning X and O to the player
@Polly10189
@Polly10189 6 ай бұрын
Amazing content!! Just one query - Do we also need to write code in LLD interview questions?
@ConceptandCoding
@ConceptandCoding 6 ай бұрын
yes
@Polly10189
@Polly10189 6 ай бұрын
@@ConceptandCoding We are totally totally screwed now!
@abc-ym4zs
@abc-ym4zs 10 ай бұрын
i am not good at designing part and drawing uml diagrams all this stuff should i nned to shift my career to another one like any gove job through ssc cgl any help sir
@jatingupta5187
@jatingupta5187 2 ай бұрын
Can we use factory design pattern to generate Playing Piece subclass object,
@learnwithme7750
@learnwithme7750 Жыл бұрын
Hey Shreyansh I have one doubt that as you Game class is doing multiple things so in future if I need to change(or modify) winning logic, so is it following Single Responsibility Principle?
@ConceptandCoding
@ConceptandCoding Жыл бұрын
yes winning logic can be taken out of it and put in some static util class.
@learnwithme7750
@learnwithme7750 Жыл бұрын
@@ConceptandCoding okay, this code isn't following Single Responsibility Principle, right?
@ConceptandCoding
@ConceptandCoding Жыл бұрын
Depends, how you are grouping your classes. For example: for each method performing some task, we can not put into different class else we will face class explosion issue. So sometimes we have to group some logical related functionality into 1 class. That's why I said in LLD there is no 1 solution. If you think winning logic does not belong to this class and should be other, go ahead but question is will you create separate class for each method?
@learnwithme7750
@learnwithme7750 Жыл бұрын
@@ConceptandCoding "So sometimes we have to group some logical related functionality into 1 class." this clears as I will not create separate class for each method.
@tejaswigutta9017
@tejaswigutta9017 Жыл бұрын
@Concept && Coding why did we use deque here? Instead, queue can be used right?
@ConceptandCoding
@ConceptandCoding Жыл бұрын
Right, queue is sufficient here
@LegitGamer2345
@LegitGamer2345 Жыл бұрын
but how would you add the player to the front in a queue when the cell u specify Is not valid? (filled up)
@kushrajendragandhi3559
@kushrajendragandhi3559 6 ай бұрын
I am facing an issue while joining membership where I am unable to proceed further after adding card details. Can someone please guide me
@shriharikulkarni3986
@shriharikulkarni3986 Жыл бұрын
Hey shreyansh, I was not able to access parking lot video, it says member access is needed, I don’t find member access join button anywhere. Also, I thought you’re doing it for free. Can you pls help me here with link for member access?
@aditya_01
@aditya_01 2 жыл бұрын
thank you very much for such a great content .
@ConceptandCoding
@ConceptandCoding 2 жыл бұрын
Thanks 🙏
@AyushKumar-zq9ny
@AyushKumar-zq9ny Жыл бұрын
Hi, I have not given any system design interviews yet in my short career so does the candidate need to develop the whole working solution for an LLD problem or just the class & its methods ?
@ConceptandCoding
@ConceptandCoding Жыл бұрын
Hi Ayush, there are 2 types of round 1. LLD Round 2. Machine Coding Round In LLD round, usually it held for 45mins, in that full coding sometimes are not mandatory (depends upon company and interviewer), class diagram and sometimes partial coding works out too. In Machine coding round, it happens generally for more than 1:30hrs (depends upon different company), there they do expect full code with usecases which need to be satisfied.
@DilipkumarGangwar
@DilipkumarGangwar Жыл бұрын
Hi Shraytansh, I have a doubt. addPiece() should be in Board Class or Player Class? I think Player Can add the Piece, so adding piece is player Behaviour . On the other side, we can say Board Object can be modified by adding Piece. By this, we can say addPiece() should in Board class. Which is correct and why?
@AnkitSharma-ot5py
@AnkitSharma-ot5py 9 ай бұрын
isThereWinner should be in board class or am i thinking in the wrong direction?
@vishalrajput647
@vishalrajput647 2 жыл бұрын
Sir, will i need to code this whole in the interview of sde1 amazon or just provide the class diagrams and explanation?
@ConceptandCoding
@ConceptandCoding 2 жыл бұрын
interviewer can ask you to code Vishal, its a good question for 60mins interview
@vishalrajput647
@vishalrajput647 2 жыл бұрын
@@ConceptandCoding I have last round of interview at amazon most probably bar raiser round, my first two rounds were purely technical rounds which I have cleared so will they ask me to code in bar raiser or ask leadership principles related stuff.. I am so much confused right now..pls help
@ConceptandCoding
@ConceptandCoding 2 жыл бұрын
Hi Vishal, i think Bar Raiser round is also rown as Loop round, pls correct me, if this is the case yes in Loop rounds, there will be coding questions+ Leadership principles questions too. Generally Amazon has 5 rounds, of 2 you have cleared then i am thinking its loop round only where rest 3 round will happen including managerial round.
@vishalrajput647
@vishalrajput647 2 жыл бұрын
@@ConceptandCoding Things have changed now there are only 4 rounds now. 1 OA + 2 technical + 1 bar raiser.
@ConceptandCoding
@ConceptandCoding 2 жыл бұрын
Vishal, i would suggest, you can join this telegram group t.me/+KwJhmit5yDczNzY1 and ask the question
@apoorvapetkar4437
@apoorvapetkar4437 2 ай бұрын
I'm paid subscriber of the channel not able to find github link for the code in member community post. Can you please help?
@ConceptandCoding
@ConceptandCoding 2 ай бұрын
gitlab.com/shrayansh8/interviewcodingpractise/-/tree/main/src/LowLevelDesign
@alekyaathaluri5123
@alekyaathaluri5123 2 ай бұрын
Hi Apoorva
@SeemaKumari-xv6dc
@SeemaKumari-xv6dc Жыл бұрын
Why exactly chain of responsibility pattern needs to be used in case of logger? How else can this be implemented?
@ConceptandCoding
@ConceptandCoding Жыл бұрын
Definitely there can be other ways to implement loggers. I used Chain of responsibility to implement it. Could you try to do it some other way, then we can discuss more.
@charuprabha8714
@charuprabha8714 3 ай бұрын
Hi I am a beginner and wanted to ask that if I can LLD in c++?
@AnusuyaKumaravel-n8k
@AnusuyaKumaravel-n8k 9 ай бұрын
how to join as members..some videos gets like member only
@harshitpandey4839
@harshitpandey4839 Жыл бұрын
Do we actually need to check free space every time? Cant we just check the number of free cells by keeping the count? For example in a 3x3 board initially 9 free cells will be there, we can decrease the count each time user makes a move.
@ConceptandCoding
@ConceptandCoding Жыл бұрын
Yes we can do. Implementation we can do with many ways, but overall design is imp for this video. But yes there might be efficient way to implement the logic
@dineshhardasani415
@dineshhardasani415 Жыл бұрын
I have a question: What happens if both players opt for the same type of playing piece?
@ConceptandCoding
@ConceptandCoding Жыл бұрын
We can add some validation in the code buddy to avoid these kind of situation
@dineshhardasani415
@dineshhardasani415 Жыл бұрын
​@@ConceptandCoding My second thought was not to keep the playing pieces inside the player and to randomly assign playing pieces to players during the game, eliminating the need for players to change their playing pieces during the game. Would this be a beneficial enhancement, or might it potentially conflict with certain design principles?
@ishabharwal1699
@ishabharwal1699 7 ай бұрын
@@dineshhardasani415 i has the same thought...did you get your ans?
@ANSHULGUPTA880
@ANSHULGUPTA880 Жыл бұрын
In the LLD interview, do we have to create diagram only or write code as well?
@ConceptandCoding
@ConceptandCoding Жыл бұрын
Both. In 45 mins round, if you can explain with UML, always go for it and try to come up with UML in first 20-25 mins and rest 20 mins keep for coding. Couple of points: - Don't try to create perfect design. - involve interviewer and keep asking for his input.
@lakshyachhabra7837510764
@lakshyachhabra7837510764 2 жыл бұрын
Can you please add a video for splitwise LLD Thanks
@ConceptandCoding
@ConceptandCoding 2 жыл бұрын
Noted.
@chidambarjoshi3470
@chidambarjoshi3470 Жыл бұрын
In system design interview round, we only need to design the application or also need to code
@ConceptandCoding
@ConceptandCoding Жыл бұрын
In some interviews like machine coding round, we have to do complete code too. And in normal LLD round complete code is not mandatory
@gurgaon_videos
@gurgaon_videos Жыл бұрын
It seems code will not work correct for the tie case. All players will get removed from the deque since you are using continue for the case when there is no free cells. It will give null pointer exception. Instead of continue, break should be used.
@ConceptandCoding
@ConceptandCoding Жыл бұрын
yes, there might be some buisness logic missing, that can be taken care of easily, but i think with this also design will not get impacted.
@sarvanThought
@sarvanThought 7 ай бұрын
It would be helpful if you mention whether it's hindi audio or English audio in title. Getting frustrated everytime when I open the design which is hindi.
@nirajbhoyar9462
@nirajbhoyar9462 5 ай бұрын
Is parking lot problem not free in the playlist ?
@sourabhsharma2746
@sourabhsharma2746 3 ай бұрын
just to know like what design pattern is used here 🤔 can anyone please explain to me.
@NehaGupta-xu4bw
@NehaGupta-xu4bw 7 ай бұрын
I am a member, want to get the Gitlab code link but cannot find it in the member community. Can you please provide any keyword by which I can search it?
@dhruvilthakor3592
@dhruvilthakor3592 7 ай бұрын
just type the link and you will get there
@Harsh-Choudhary451
@Harsh-Choudhary451 4 ай бұрын
Very Nice video
@vaibhavmalik6490
@vaibhavmalik6490 2 жыл бұрын
How to find the winner in O(1), please share link of problem that you are referring in video.
@ConceptandCoding
@ConceptandCoding 2 жыл бұрын
Hi kindly check the description, I have shared the link there
@yatri6329
@yatri6329 2 жыл бұрын
@@ConceptandCoding plz share i checked in the discription
@srisarveshr6057
@srisarveshr6057 6 ай бұрын
Hello sir, Iam planning to buy ur KZbin membership, can you please cover the topics again in English only for the videos in which you have thought in hindi.
@rasanpreetsingh1712
@rasanpreetsingh1712 5 ай бұрын
You have already implemented the code but It would be better if you start your explanation basic thought process and intuition behind the design.
@raviteja8882
@raviteja8882 Жыл бұрын
can we use factory method pattern to obtain player object?
@tanmayjain5821
@tanmayjain5821 2 ай бұрын
yes we can and also use Null object design pattern to return a default object just in case we dont have a class for a given type.
@himanshuchhikara4918
@himanshuchhikara4918 Жыл бұрын
can we have PieceType[][] board instead of PlayingPiece[][] . And if no why no?
@nitin50056
@nitin50056 Жыл бұрын
hi, where can we check the code for these videos in git?
@ConceptandCoding
@ConceptandCoding Жыл бұрын
gitlab.com/shrayansh8/interviewcodingpractise/-/tree/main/src/LowLevelDesign
@TimeFun12
@TimeFun12 4 ай бұрын
I tried to open the parking lot video but asking membership
@ishangupta7701
@ishangupta7701 Жыл бұрын
your huhhhh at last....🤣🤣
@mehulparmar9976
@mehulparmar9976 Жыл бұрын
I think you have not checked if row column is more than size.
@ConceptandCoding
@ConceptandCoding Жыл бұрын
Possible that some validations are missing we can add those
@gyanaranjanmallick9714
@gyanaranjanmallick9714 Жыл бұрын
Hi Shreyansh, I have one query 1. In the video you have 'player' contains 'playingPiece' which in turn contains 'pieceType'(pieceType is enum). What if we don't use 'playingPiece', instead we make 'player' contains 'pieceType'. So we make one less class than earlier. will the second design be better/worse than the first design? And how so? Thanks, great content btw. really appreciate your work.
@ConceptandCoding
@ConceptandCoding Жыл бұрын
There is no one solution in LLD, but just think from future perceptive that can more fields will be added in playing piece in future (today it has only piece type), then you have to add them in player class.
@gyanaranjanmallick9714
@gyanaranjanmallick9714 Жыл бұрын
@@ConceptandCoding this makes sense. thank you
@yashigupta865
@yashigupta865 Жыл бұрын
very helpful
@ConceptandCoding
@ConceptandCoding Жыл бұрын
Thanks
@yashigupta865
@yashigupta865 Жыл бұрын
@ConceptandCoding, I have joined the community as a member still I am unable to access the videos, is there a specific reason for it?
@Shrey_rocoustic
@Shrey_rocoustic Күн бұрын
not able to get the git repo shrayansh
@ConceptandCoding
@ConceptandCoding 18 сағат бұрын
gitlab.com/shrayansh8/interviewcodingpractise/-/tree/main/src/LowLevelDesign?ref_type=heads
@neeranchalgupta1644
@neeranchalgupta1644 Жыл бұрын
Instead of model class for piece can't we make it enum it make code easier
@ConceptandCoding
@ConceptandCoding Жыл бұрын
There can be many approach, so do try it out
@subhashismollick5464
@subhashismollick5464 Жыл бұрын
Which design pattern follows for this design?
@ConceptandCoding
@ConceptandCoding Жыл бұрын
Hi Subhashish, usage of design patterns is not mandatory. Following SOLID principles is imp. As far as i can recollect, it's a very small question, no design pattern is needed for it. But all SOLID principles properly followed
@subhashismollick5464
@subhashismollick5464 Жыл бұрын
@@ConceptandCoding Thanks a lot.
@muralidharanvasudevan7760
@muralidharanvasudevan7760 Жыл бұрын
Bro, is there a english version?
@nileshchaudhari3769
@nileshchaudhari3769 Жыл бұрын
Sir can you share n queens problem video link ?
@faizaansheikh5233
@faizaansheikh5233 6 ай бұрын
Hi I already made a payment of 59rupees per month but still unable to access the member only vieeo Please help
@YogeshSharma-wt5rg
@YogeshSharma-wt5rg 4 ай бұрын
Thank you!
@vallabhchugh2075
@vallabhchugh2075 11 ай бұрын
please add uml also for easy reference
@namrtalakhwan4748
@namrtalakhwan4748 Жыл бұрын
Hi Shreyansh. Let's say i can have different ways to print a board so i make an interface and different printers will implement that interface. Now this interface should be part of game class or the board class? Same doubt with winning strategy? And if we put it in game class then should we pass the whole board object or the matrix only. Keep making such videos❤
@vishwasdhanwani6134
@vishwasdhanwani6134 Жыл бұрын
I think the board interface would be part of board concrete class. And you can make various types of board. In TicTacToeGame class you can use parent board interface for refrencing & apply run-time polymorphism to achieve various types of boards.
@sanketneema286
@sanketneema286 Жыл бұрын
thankyou bro.
@ConceptandCoding
@ConceptandCoding Жыл бұрын
You're welcome!
@Jonathan-ry2wn
@Jonathan-ry2wn 4 ай бұрын
can anyone please share the code base link🥲
@arghyadeepmandal4458
@arghyadeepmandal4458 Жыл бұрын
12:39 Tiktok game 🤭
@ConceptandCoding
@ConceptandCoding Жыл бұрын
Lol i haven't noticed
@theritesh973
@theritesh973 4 ай бұрын
❤❤❤
@RamKumar-kz8gg
@RamKumar-kz8gg 2 жыл бұрын
cpp me bhi code provide kr dete sir, bhut help ho jata
@ConceptandCoding
@ConceptandCoding 2 жыл бұрын
Hi Ram, i am not comfortable in CPP, college mein padi thi but 7yr in company using Java only. really sorry buddy, but i will let other members if they can help to provide the same solution in Cpp
@RamKumar-kz8gg
@RamKumar-kz8gg 2 жыл бұрын
@@ConceptandCoding Thank You sir
@Prashantkumar-pn6qq
@Prashantkumar-pn6qq 2 жыл бұрын
Hi Ram, I can help you with this , if you still need this. Let me know if you do.
@RamKumar-kz8gg
@RamKumar-kz8gg 2 жыл бұрын
@@Prashantkumar-pn6qq sure bro, please provide the codes
@Prashantkumar-pn6qq
@Prashantkumar-pn6qq 2 жыл бұрын
@@RamKumar-kz8gg I'll try to push it to github by next week
@kusumjoshi4613
@kusumjoshi4613 10 ай бұрын
Please make in c++ too
@ConceptandCoding
@ConceptandCoding 10 ай бұрын
i am not a c++ guy buddy, sorry
@justlc7
@justlc7 2 жыл бұрын
Requesting splitwise LLD Thanks
@DevanshChiluka
@DevanshChiluka 8 ай бұрын
@mohamedBenthami-f4c
@mohamedBenthami-f4c Жыл бұрын
grat
@ConceptandCoding
@ConceptandCoding Жыл бұрын
Thanks
@Iamnoone56
@Iamnoone56 Жыл бұрын
Almost all videos are for members only 😢
@ConceptandCoding
@ConceptandCoding Жыл бұрын
Out of 33 videos only 6 videos (interview asked questions)are for members only buddy. Rest all open. Kindly have a look again pls
@AbhishekSharma-uf1te
@AbhishekSharma-uf1te 6 ай бұрын
link
@ConceptandCoding
@ConceptandCoding 6 ай бұрын
pls check member community post section buddy
@alekyaathaluri5123
@alekyaathaluri5123 2 ай бұрын
Hi Abhishek
@suhanigaur4912
@suhanigaur4912 Ай бұрын
i wish your codes were in c++
@hiijitesh
@hiijitesh 6 күн бұрын
Bhai saare video he for memeber krdo.
Mock Low Level System Design Interview with Qualcomm Sr. Engineer - Design Meeting Scheduler
37:23
UFC 310 : Рахмонов VS Мачадо Гэрри
05:00
Setanta Sports UFC
Рет қаралды 1,2 МЛН
coco在求救? #小丑 #天使 #shorts
00:29
好人小丑
Рет қаралды 116 МЛН
TicTacToe | Google Gigachad SWE Teaches Low Level Design Episode 1
12:04
Jordan has no life
Рет қаралды 12 М.