15 years into the game and videos like this are so refreshing and still so very useful. Thank you. Newer/less experienced devs don't know how lucky they are to learn about these concepts from you and other hi-quality tech youtubers. Thank you!
@@lisejoan can you recommend some great sources you guys have gone through . I am less experienced in terms of architecture so it will help me a lot to build my current project at work
I am so happy that I found your video. I have googled about it for quite a while and the authors mess up the terms so often that you don't know which article to trust. Finally this topic makes more sense to me. Well done!
Had been going around in the internet, browsing courses, different material and various books for quite a while now. Nothing at all came close to being as clear, easy to grasp and detailed as this video! And seriously thank you so much for the recommendation of the two books in the end. Strangely though, I didn't hear any Uncle Bob here, I really expected that one book will be for him. So can you please tell me your thoughts about his content? I have all of his courses and I am wondering weather I should start with him as I already watched some of his videos, or should I go some other different route?
Thanks man! Few questions: Is the categorisation of patterns you gave from the second book (pattern-oriented architecture)? Coz Software Architecture in Practice has the following categorisation: module, component-connector and allocation type patterns. Also tbh it’s the first I hear that the word “architecture” is synonymous to “architectural pattern”. Rather, I’m more used to understanding an architectural pattern as a commonly-used solution that brings a bunch of architectural tactics together, and can work well in certain use-cases.
A component is a self-contained module, or a layer that performs a specific computation or a set of operations that are part of the whole functioning of the system.
Hi, You have put the layered pattern under monolithic which is not true in all cases. As i can design my layer such a way that can be independently deployed on separate machine resulting in n-tier architecture. N-Tier architecture and layered architecture are two different patterns
That's true. A layered architecture, or N-tier, could be designed in an efficient way. Traditionally and sometimes the layers tend to be too large and complicated. I put it under the monoliths category because it is closer to real monolothic systems. Thank you for your remark!
Might be really lame to ask, but shouldn't microservices architectural pattern also come under distributed patterns since the persistence and functionalities are "distributed" across the microservices?
Good question. Microservices pattern is about how you architect your web application. it's decoupled into fine-grained units that work coherently as a whole system. The system could be distributed across different computers, or exist at the same computer. Almost all microservices systems are distributed now.
"Architectural Patterns are how components are organized and assembled and design pattern are how components are built" This is slightly confusing to me since now I feel like "assembling" has a different definition than "building" lol Great video however!
@ 10:23 The Layered pattern, I have studied and believed that Layered pattern in Monolithic (all layers in one physical computer). Presentation, Business Logic and Data. And N-Tier means different Layers in its own physical computer. Real world example Presentation (Angular UI, on Azure VM), Business Logic (.Net REST API on Azure WebService), Data (Azure MongoDB service). This is called N-Tier architecture, right? and it not Monolithic! could you please explain?
The layers refer to independent parts of the software system. They could be in the same computer or in different spaces. Please refer to my video about the layered architecture. You're not mistaken, though. The N-tier term tends to be used when talking about systems that have layers distributed across different spaces.
Yeah. The underlying architecture is platform-agnostic. If you partition your app into n-parts and the user interaction fires up calls that need to pass through different stages before getting processed and then the call result is a response that keeps building up as it reaches the user again. Then that's the layered pattern. These patterns are design-oriented. You can use them in different situations. Not just web or mobile. Hope I answered your question. ^^
There is no specific rule that determines the number, characteristics, or the name of layers. I simply called it the infrastructure layer because it consists of services and modules that take care of the underlying infrastructure.
It's a matter of what information I included and what I chose to leave out. Using events in the context of microservices will be covered in one of my next videos.
"organized and assembled" is not enough to make it an Architecture. Also, Architecture is about how a structure is ultimately "built" as it depends on the ultimate SPATIAL relationships that are visible to the human eye. So, Software cannot be Architected. Stop it already!!!! Please!!!! Of course, if you are talking about a visible GUI structure then, maybe then, you can talk about an Architecture that was built using software. But then, the software is irrelevant if all you need is to enjoy the beauty of the GUI. You can build it with just Photoshop and be done with it in accomplishing your Architecture output. And indeed that's the software Architects use, some sort of Photoshop on Rails, some sort of AutoCAD.
Sorry for the confusion. "Architecture" has a different meaning in this context. You can re-watch the video or do quick research to clear the confusion.
Thank you for watching! I hope you enjoyed the content! 😊 Support the Techcave to produce more content! ko-fi.com/thetechcave
15 years into the game and videos like this are so refreshing and still so very useful. Thank you. Newer/less experienced devs don't know how lucky they are to learn about these concepts from you and other hi-quality tech youtubers. Thank you!
As an architect, 10+ years into it, I wholeheartedly agree with you!
@@lisejoan can you recommend some great sources you guys have gone through . I am less experienced in terms of architecture so it will help me a lot to build my current project at work
I am so happy that I found your video. I have googled about it for quite a while and the authors mess up the terms so often that you don't know which article to trust. Finally this topic makes more sense to me. Well done!
I've been looking for a clear view on how to define architectural patterns for a while. You've nailed it - thank you.
Loved the clear distinction! I have been interchanging arch & design patterns, thank you!
Great Work! I would recommend this to anyone who is about to start their deep dive into system design.
Man. thanks a lot. In this 15 minutes got more useful info than i could find last month. Good luck
learnt more than total 8 years of software experience combined. Thank you my friend
Loving this. Your visuals and explanation really helped me. That would be great if you did this more often!
A lot of information in a very shot video , Great job @The TechCave
Wow! Really? Please take your flowers 🌺 ❤. Thank you very much. You nailed this.
Very clear explanation of abstract concepts! Thank you very much!
Preparing for an interview, apparently I'm going to be tested thoroughly on system architecture design. Thanks.
Me too.
Did you have your interview?
@@maiksousavital1671 Yes! But it was slightly different than this. How was yours?
It is short and complete overview about software architecture. Very helpful for beginners. Thanks
Seriously, Thank you very much, you have clearly connected all the confusion dots in my brain
That's so nice and informative. Lately started to read famous books design pattern and SICP. Your video clears things for me. Thanks a lot.
Best Dev youtuber in my opinion , KEEP GOING.
Thanks Mate! ^^
Such a great to-the-point explanation. Thank you very much for the making and sharing this video, it saved me at least one day...
Thanks for that beautiful and educative content 😊
Great video! Very succinct, at same time simple enough for beginners to understand. Please continue this series..
Thanks a lot. I understand it much better now. Thank you. Great job
Great content! Thanks for sharing, and also for the recommended literature!
Had been going around in the internet, browsing courses, different material and various books for quite a while now. Nothing at all came close to being as clear, easy to grasp and detailed as this video! And seriously thank you so much for the recommendation of the two books in the end. Strangely though, I didn't hear any Uncle Bob here, I really expected that one book will be for him. So can you please tell me your thoughts about his content? I have all of his courses and I am wondering weather I should start with him as I already watched some of his videos, or should I go some other different route?
Thank for this video big help for me as a self-taught .
Wow! Just in 15 minutes you explained these technicalities in a simple manner. Thanks. Subscribed your channel. :)
Great overview of an important topic. Well done.
Thanks for your work
Great explanation from a great instructor .. keep going, sir
Thanks very instructive content, never gets old even in 2020. Keep up the good work.
Thanks man! Few questions: Is the categorisation of patterns you gave from the second book (pattern-oriented architecture)? Coz Software Architecture in Practice has the following categorisation: module, component-connector and allocation type patterns. Also tbh it’s the first I hear that the word “architecture” is synonymous to “architectural pattern”. Rather, I’m more used to understanding an architectural pattern as a commonly-used solution that brings a bunch of architectural tactics together, and can work well in certain use-cases.
Thanks a lot for the video. Helpful!
Thank you for explaining clearly
Short and simple but well explained.
great explanation, thanks a lot
Your video is really nice !! I'am trying to learn software design and your videos help me a lot. Can u suggest any course on software design. Thanks
Thanks, really what I have been looking for
Clean explanation, really good stuff
Fantastic video.
Informative video!
I love this. Do you have new books to recommend on this topic? Thanks!
Great video. Thanks
Great video! Can you share some applications for each? Thanks.
Nice shot🖒🖒🖒
Awesome!
Hi,
What are the differences between software architectural patterns and software architectural styles?
Architectural design plss..
Thank for this video big help for me
Great video!
This video is great
Very useful, however I don't think layered architecture is same as n-tier architecture.
What a good explanation u did thank u very much but , I'm absolutely beginner what are the components mean here?
A component is a self-contained module, or a layer that performs a specific computation or a set of operations that are part of the whole functioning of the system.
A teacher once told me that the layered and the n-tier architectural patterns were not the same..
Thank you excellent video.
Thanks mate. Very precise
I have many new innovative ideas, but I am not software engineer, to develop, so how can I share my ideas to best developer
Hi,
You have put the layered pattern under monolithic which is not true in all cases.
As i can design my layer such a way that can be independently deployed on separate machine resulting in n-tier architecture.
N-Tier architecture and layered architecture are two different patterns
That's true. A layered architecture, or N-tier, could be designed in an efficient way. Traditionally and sometimes the layers tend to be too large and complicated. I put it under the monoliths category because it is closer to real monolothic systems. Thank you for your remark!
Nice video! Thnx!
Explanation is neat. Subscribed :)
#amflearningbydoing an awesome content
This video helped indeed, thank you!
Might be really lame to ask, but shouldn't microservices architectural pattern also come under distributed patterns since the persistence and functionalities are "distributed" across the microservices?
Good question. Microservices pattern is about how you architect your web application. it's decoupled into fine-grained units that work coherently as a whole system. The system could be distributed across different computers, or exist at the same computer. Almost all microservices systems are distributed now.
@@TheTechCave got it, thanks for reverting!
Does Software architecture have one or more architecture patterns ? Please clear it ? L
Great Video
"Architectural Patterns are how components are organized and assembled and design pattern are how components are built"
This is slightly confusing to me since now I feel like "assembling" has a different definition than "building" lol
Great video however!
Assembling here means the overall organization of the main components. Built means the inner workings of the components.
Let me give it a shot: Each Component is Built. Components are Assembled together to make a system.
Thanks ... I find this video is easy to understand .. Subscribed :)
Excellent! Thank you!
Awesome.
Just thank you bro thank youuuu !!!!
What's the difference between software architecture and system design?
@ 10:23 The Layered pattern, I have studied and believed that Layered pattern in Monolithic (all layers in one physical computer). Presentation, Business Logic and Data.
And N-Tier means different Layers in its own physical computer. Real world example Presentation (Angular UI, on Azure VM), Business Logic (.Net REST API on Azure WebService), Data (Azure MongoDB service). This is called N-Tier architecture, right? and it not Monolithic! could you please explain?
The layers refer to independent parts of the software system. They could be in the same computer or in different spaces. Please refer to my video about the layered architecture. You're not mistaken, though. The N-tier term tends to be used when talking about systems that have layers distributed across different spaces.
Architecture Pattern is the same than Architecture Style?
Excellent
Thank you so much for this
This Video is Great Very on POINT !
Great one Thanks
Great content, thank you!
Hy I want to talk with you plz join me on whtasapp or Facebook for WhatsApp 03131558562
Cool!
what about the books of 2019-2018-2017 and less ?
Many thanks indeed.
Thank you so much
Can we use layered pattern for android applications?
Yeah. The underlying architecture is platform-agnostic. If you partition your app into n-parts and the user interaction fires up calls that need to pass through different stages before getting processed and then the call result is a response that keeps building up as it reaches the user again. Then that's the layered pattern.
These patterns are design-oriented. You can use them in different situations. Not just web or mobile.
Hope I answered your question. ^^
Nice
thank you so much
Never heard of the Infrastructure layer, could you sum up what that holds?
There is no specific rule that determines the number, characteristics, or the name of layers. I simply called it the infrastructure layer because it consists of services and modules that take care of the underlying infrastructure.
very clear and perfect explanation BTW your accent look very Moroccan to me :)
he is Techcavian.
good video
Quite misinterpreted definitions, for example micro services can be event driven, those aspects are not in same category
It's a matter of what information I included and what I chose to leave out. Using events in the context of microservices will be covered in one of my next videos.
Thanks
Thanks a lot :)
Hi Ayoub ! just a question Are you Moroccan or Algerian ?
Hey! I hope it doesn't matter for you, because it doesn't for me. And I hate those stupid borders, everywhere in the world. Moroccan.
@@TheTechCave Yeah it doesn't xD Keep going bro ! good luck
Will like to be like you.
I don't understand why those presentors always whisper????????????
great.
thank u
7:33 defines
"organized and assembled" is not enough to make it an Architecture. Also, Architecture is about how a structure is ultimately "built" as it depends on the ultimate SPATIAL relationships that are visible to the human eye. So, Software cannot be Architected. Stop it already!!!! Please!!!!
Of course, if you are talking about a visible GUI structure then, maybe then, you can talk about an Architecture that was built using software. But then, the software is irrelevant if all you need is to enjoy the beauty of the GUI. You can build it with just Photoshop and be done with it in accomplishing your Architecture output.
And indeed that's the software Architects use, some sort of Photoshop on Rails, some sort of AutoCAD.
Sorry for the confusion. "Architecture" has a different meaning in this context. You can re-watch the video or do quick research to clear the confusion.
This.
Content is good, but why are just faking an American accent??
I didn't say I'm an American and that's my accent :)
Wow! Concise and To the point!
Nice
thank u so much
Thank you so much