10 Architecture Patterns Used In Enterprise Software Development Today

  Рет қаралды 261,132

Coding Tech

Coding Tech

Күн бұрын

Пікірлер: 99
@yuriymatso
@yuriymatso 3 жыл бұрын
0:33 Layered Pattern / n-tier architecture 1:40 Pipe Filter Pattern 2:49 Client Server Pattern 3:48 Model View Controller Pattern 4:48 Event Bus Pattern 5:48 Microservices Pattern 6:45 Broker Pattern 7:46 Peer to Peer Pattern 8:54 Blackboard Pattern 10:00 Master Slave Pattern
@domemvs
@domemvs 3 жыл бұрын
What‘s important to understand is that these patterns are not mutually exclusive.
@rbrohitbisht
@rbrohitbisht 3 жыл бұрын
@k r If you try to integrate different applications then you may need to introduce more than one pattern. Say your application one need to call API's of application two, as well as a messaging queue also needed for the asynchronous task. In this way, API and messaging patterns are needed with pipes.
@domnik9062
@domnik9062 3 жыл бұрын
This is very important. Today almost all projects use the Microservice architecture but is eazy applicable in others, for example Peer 2 Peer systems.
@PabitraPadhy
@PabitraPadhy 2 жыл бұрын
A mobile game/app uses almost all of these mentioned application pattern.
@Titanium-de8hj
@Titanium-de8hj Жыл бұрын
Really sir! I haven't heard these pattern being an iOS developer until now. I have been heard MVC, MVVM, VIPER, MVP & so on patterns only.@@PabitraPadhy
@domemvs
@domemvs 3 жыл бұрын
Can‘t figure out if this is text-to-speech or a real person talking.
@adelam.6123
@adelam.6123 2 жыл бұрын
love love love the simple and structured descriptions and advantages/disadvantages for each pattern
@stannone7272
@stannone7272 3 жыл бұрын
I think its crazy that you can find all this patterns in a frontend application nowadays.
@IsobelJefferson
@IsobelJefferson Жыл бұрын
Thank you for your charity and kindness! Your lessons are awesome
@moneyfish2490
@moneyfish2490 3 жыл бұрын
Good list of patterns. Great overview.
@kevinshoang
@kevinshoang 3 жыл бұрын
Did you just present a mix of patterns in many domains in 1 video?
@animeshbhatt3383
@animeshbhatt3383 3 жыл бұрын
There are some subtle differences between architecture and design. Like MVC is more of a design pattern.
@riley3269
@riley3269 3 жыл бұрын
I hear distortions in the audio that either means it's text to speech or just a crappy mic. If not then would love to know what text to speech this is because it's really good.
@mrsbootsworkouts
@mrsbootsworkouts Жыл бұрын
Good information, thank you
@pythontutorials5895
@pythontutorials5895 3 жыл бұрын
Microservices is definitely the modern Top Ranked pattern!
@JustCallMePCra
@JustCallMePCra 3 жыл бұрын
Especially enterprise level
@gangsterholla179
@gangsterholla179 3 жыл бұрын
Well it's more of s combination. Your load balancer is a broker pattern, your message queue uses a sub pub, your web api uses MVC,your database uses etc...
@kayakMike1000
@kayakMike1000 3 жыл бұрын
Unix philosophy, a program should do one thing and one thing well is the same concept... Circa 1978.
@penizesouta
@penizesouta 3 жыл бұрын
No, it is just one part. You need messaging and distributed memory such as Redis. Also all logs, metrics and business intelligence is in one place.
@shizhouliu8912
@shizhouliu8912 Жыл бұрын
What's the diff between the broker pattern and event but pattern? They both like the Kafka.
@RefkyWahib
@RefkyWahib Жыл бұрын
Great video Thank you
@elementsoflife2677
@elementsoflife2677 3 жыл бұрын
I assume that the large enterprise apps can utilize multiple patterns concurrently. Is that true?
@AntonMochalin
@AntonMochalin 3 жыл бұрын
Yes many of them are actually supposed to work together like MVC is often considered a way to implement presentation layer.
@riptide828
@riptide828 2 жыл бұрын
Great video. Thank you for that. I think there might be a mistake at 4:46 because the arrow between View and User should be pointing in the opposite direction as the user sees the view and not vice versa, or do I miss something? Best wishes and please keep up the good work!
@crossugo5738
@crossugo5738 2 жыл бұрын
I had the same thought as well.
@ovidiub13
@ovidiub13 2 жыл бұрын
Not necessarily. The arrows represent the flow of information.
@matswessling6600
@matswessling6600 11 ай бұрын
@@ovidiub13the relation is named at the arrow is "sees" and it breaks the pattern. controller manipluates model but view doesnt see user.
@MrKristian252
@MrKristian252 2 жыл бұрын
Can you justify why there is a performance bottleneck in Client-Server pattern? 3:18 Is it a performance bottleneck *because* it's a single point of failure, or just a performance bottleneck in general?
@jojotheoj
@jojotheoj Жыл бұрын
If your server is old and alone, it’s a limiting factor for everything else. If you’re spinning up VMs with replication/redundancy, you’re ok.
@joshuasamuels3069
@joshuasamuels3069 3 ай бұрын
The client and server communicate over a network - The bottleneck is the uncertainty in performance of the network and a single point of failure.
@khalilbenali6037
@khalilbenali6037 2 жыл бұрын
Thanks for this valuable content.
@ntcuong01ct1
@ntcuong01ct1 3 жыл бұрын
Dear Friends, When I design a software system, I divide it into 3 categories: 1/ Conceptual: I will state the names of the software that will respond to the requirements of the business process from users, describe the names of the software to be processed and the behaviors. 2/ Logical: I can define software architecture by applying architectural pattern in this step and I will include constraints on availability, scalability, maintainability. I also describe in detail the function of each component. This step 3/ Physical: Define programming language, platform to realize the description in Logical step. Could you recommend?. Thank you.
@chloinger
@chloinger 2 жыл бұрын
Thanks for this Video! Really helpful for my IOT course. ☺️
@designthinkingwithgian
@designthinkingwithgian 2 жыл бұрын
What is a good book that helps introduce this topic to new readers?
@demarco6967
@demarco6967 3 жыл бұрын
this series is great!
@nicholas_obert
@nicholas_obert 3 жыл бұрын
Very clear explaination
@martapfahl940
@martapfahl940 Жыл бұрын
7:17 So the Broker is nothing more than a Reverse Proxy right?
@hpgildwel
@hpgildwel 3 жыл бұрын
I really dig the eventbus pattern
@nck9689
@nck9689 3 жыл бұрын
Often used in combination with microservices to ensure possible data duplication and general communication capabilities between the services.
@rainchai851
@rainchai851 3 жыл бұрын
Is the content generated?
@contactdi8426
@contactdi8426 2 жыл бұрын
I don't know but I found all of these patterns to be same.. Layered (4/3 tier architecture) == MVC =~ Client-Server architecture
@vampiroast
@vampiroast Жыл бұрын
Thank you for your video! I have used n-tier and MVC patterns in my projects, I want to learn new patterns or architectures, I'm confused sometimes those words are used interchangeably. But I can't find practical projects of all the other patterns, just theory. Anyone knows where can I find practical projects?
@brianpack369
@brianpack369 Жыл бұрын
Why is the Event Bus Pattern used in Android development and not iOS?
@deepaghera6801
@deepaghera6801 2 жыл бұрын
could some one recommend book which cover these all this architecture pattern?
@guidobit
@guidobit 3 жыл бұрын
Hmmm what about cqrs, event sourcing, actor model...
@subhadiphalder8873
@subhadiphalder8873 3 жыл бұрын
These are design patterns which can be used in any of these mentioned architecture patterns
@carponneutrality1955
@carponneutrality1955 3 жыл бұрын
@@subhadiphalder8873 Wrong. CQRS for example affects everything from your database design, your logic, to the UI implementation. It doesn‘t become more architectural than that. The other way round is true: the video mixes architectural patterns with design patterns. For example, MVC is no architectural pattern at all, but a design pattern for presentation implementations.
@alxx736
@alxx736 2 жыл бұрын
Difference with Architectures Style ?
@yeabuddy9365
@yeabuddy9365 3 жыл бұрын
Great video, anyone know of a valid use case/example for the blackboard pattern? Very possible only having experience with web and mobile development has limited my perception but, I can't think of when this would be an obvious design choice, although, I'm sure there are many obvious ones
@lol785612349
@lol785612349 2 жыл бұрын
I think it's used for data analysis. By inputting more and more data, your model gets stronger.
@zeektm1762
@zeektm1762 2 жыл бұрын
Artificial intelligence in games and apps
@aymanpatel5862
@aymanpatel5862 3 жыл бұрын
Isn't Event Bus used in Kafka instead of Broker pattern?
@Voidstroyer
@Voidstroyer 3 жыл бұрын
Kafka itself uses the event bus (or pub/sub as it's more commonly known) internally. But you can use Kafka as a service in your own application which would make it a broker because it does things for you on your behalf and you are oblivious as to how it does it. All you care about is the required input and the corresponding output.
@Casey_W
@Casey_W 3 жыл бұрын
I don't believe this presenter realizes that application patterns and enterprise patterns deal with very different issues.
@technologicalwaste7612
@technologicalwaste7612 3 жыл бұрын
These concepts are how non-experts understand systems which they cannot resolve to any greater detail.
@Warpgatez
@Warpgatez 2 жыл бұрын
I mean, she’s clearly reading a script
@fivedragons4526
@fivedragons4526 2 жыл бұрын
lol
@WarrenCandiasis
@WarrenCandiasis 3 жыл бұрын
what is the modern combination of these patterns? MVC + Microservices?
@penizesouta
@penizesouta 3 жыл бұрын
Layered + microservice + broker
@coryserratore5951
@coryserratore5951 2 жыл бұрын
Layered (in a clean architecture manner) + MVC + microservices + broker + event bus + micro front-end
@this.channel
@this.channel 3 жыл бұрын
What's the difference between Architecture patterns and design patterns?
@lepidoptera9337
@lepidoptera9337 3 жыл бұрын
To your compiler? Nothing. To your code reliability? Nothing. To your ability to finish the project on time and budget? Nothing. That solely depends on how good you and your team really are as software engineers and how much room for success management gives you. The little bit of coarse/fine-graining on the architecture level can't prevent catastrophe if the project and team are not in good shape.
@andreujuanc
@andreujuanc 3 жыл бұрын
Ah, the broken pattern. It never works. xD
@swagatdash6049
@swagatdash6049 2 жыл бұрын
Half of them are similar, like master-slave and broker, mvc and blackboard and so on
@sarthaksharma4816
@sarthaksharma4816 2 жыл бұрын
Thanks.
@1testrad
@1testrad 3 жыл бұрын
thanks ...
@pbdivyesh
@pbdivyesh Жыл бұрын
The top level categorisation is not correct here
@_ashout
@_ashout 3 жыл бұрын
A little too surface level. Not sure if I got much value out of this video
@lepidoptera9337
@lepidoptera9337 3 жыл бұрын
You don't get any value out if any of these videos because patterns are NOT what leads to good software. Patterns are ways to distribute tasks between programmers. Once the compiler is done with your code, the only difference between a flat piece of code with global variables and an OO version of the code using patterns is the order of heap variables and the call hierarchy on the stack. It turns out that deep stacks and convoluted heaps are actually counterproductive to safe code, so the OO pattern techniques are actually causing problems at the machine level (in case of buffer overflows, for instance). The only thing they help to untangle is the presentation of the code to the developers, i.e. they are not making the program better, they are merely reducing the confusion of the programmers... somewhat.
@penizesouta
@penizesouta 3 жыл бұрын
@@lepidoptera9337 I liked your comment, but nowadays systems are distributed so it is not just about a single machine. At some point, you need a pattern to get better performance, not just to write a better codew.
@lepidoptera9337
@lepidoptera9337 3 жыл бұрын
@@penizesouta The compiler doesn't care about your distributed systems, either. That's just calls to code that shares data between machines. At the machine level it's still the same code transformations. There is nothing wrong with OO, but you should know what it is and what it isn't. It is _not_ a technique to write reliable software.
@hiphiphorhayy
@hiphiphorhayy Жыл бұрын
I havent gone thru the whole vid yet but where do monoliths go in all of this?
@almartinch
@almartinch 3 жыл бұрын
not recommended, it's mixing stuff, feels like a Wikipedia basic article
@paulfrischknecht2381
@paulfrischknecht2381 2 жыл бұрын
Is this read by a robot or not?
@PositiveAlex
@PositiveAlex 3 жыл бұрын
Seems a bit random
@AntonMochalin
@AntonMochalin 3 жыл бұрын
How clueless are the people leaving comments like "this is informative". Except maybe they're sarcastic.
@kayakMike1000
@kayakMike1000 3 жыл бұрын
Gotta start somewhere, but yeah. This is sorta kindergarten level software design.
@AntonMochalin
@AntonMochalin 3 жыл бұрын
@@kayakMike1000 Kindergarten is ok but it is in some parts just plain incorrect and some explanations don't actually clarify things supposed to be explained
@bestofthebest5642
@bestofthebest5642 3 жыл бұрын
@@AntonMochalin can you write up where exactly did the video presenter go wrong?
@AntonMochalin
@AntonMochalin 3 жыл бұрын
@@bestofthebest5642 one has already been mentioned here about n-tier vs layered, and even though they have those arrows in the animation they don't explain that layers have a particular order of dependencies. When describing microservices they in fact describe SOA. The MVC diagram though popular is misleading because it looks like model has dependency on view (model "updates" view) which isn't the case.
@kayakMike1000
@kayakMike1000 3 жыл бұрын
@@AntonMochalin hum.... I didn't bother with it much... I assumed it was regurgitated from the gang of four book...
@panth5501
@panth5501 Жыл бұрын
Is it just me or these are Design patterns and not Architecture patterns ?
@Smarttradingchannel
@Smarttradingchannel 2 жыл бұрын
You don’t make difference between design model and architecture Please study before learn to people
@kayakMike1000
@kayakMike1000 3 жыл бұрын
I wouldn't trust Wikipedia for a definition.
@simolajustice6555
@simolajustice6555 3 жыл бұрын
the MVC pattern has no longer been the trend in the industry
@SimbaUdaullah1489
@SimbaUdaullah1489 2 жыл бұрын
hi
@TheMrFlipp
@TheMrFlipp Ай бұрын
cancelled my subsciption to this channel. this content is generated stuff from wikipedia and with a text to speech voice. risk is high, that this content isn't professional
@ismalcb31
@ismalcb31 3 жыл бұрын
first
@charterest5100
@charterest5100 3 жыл бұрын
Who came up with the 'master-slave' naming? Appalling !
@kayakMike1000
@kayakMike1000 3 жыл бұрын
Pretty sure it was a Democrat.
@StevenMartinGuitar
@StevenMartinGuitar 3 жыл бұрын
Oh no! We can't use words anymore! 🤐😭🤣
@kayakMike1000
@kayakMike1000 3 жыл бұрын
@@StevenMartinGuitar it's worse than that, my operating system is systemically racist because it was written by mostly white guys.
@penizesouta
@penizesouta 3 жыл бұрын
@@kayakMike1000 the code in my IDE is also white.
@brianpack369
@brianpack369 Жыл бұрын
Do you pay your modules for the work they do?
Introduction to System Design - MVC and Three-Tier Architecture
22:51
What does larger scale software development look like?
24:15
Web Dev Cody
Рет қаралды 1,5 МЛН
99.9% IMPOSSIBLE
00:24
STORROR
Рет қаралды 31 МЛН
Microservices with Databases can be challenging...
20:52
Software Developer Diaries
Рет қаралды 129 М.
Dependency Injection, The Best Pattern
13:16
CodeAesthetic
Рет қаралды 917 М.
Everything You NEED to Know About Client Architecture Patterns
5:51
The SECRETS Of Successful Software Architects
10:56
Continuous Delivery
Рет қаралды 14 М.
5 Design Patterns That Are ACTUALLY Used By Developers
9:27
Alex Hyett
Рет қаралды 331 М.
Architecting Large Scale Systems | Creating Scalable Web Application Architecture
32:53
Cuelogic Technologies | An LTIMindtree Company
Рет қаралды 78 М.
What Software Architects Do That Programmers DON'T
12:51
Thriving Technologist
Рет қаралды 135 М.
System Design Concepts Course and Interview Prep
53:38
freeCodeCamp.org
Рет қаралды 548 М.
99.9% IMPOSSIBLE
00:24
STORROR
Рет қаралды 31 МЛН