learning-software-engineering / learning-software-engineering.github.io

MIT License
17 stars 206 forks source link

Diffrent Design Patterns, their uses, and pros and cons #497

Open VG2800 opened 4 months ago

VG2800 commented 4 months ago

Among the plethora of available design patterns available, three of the most widely used in modern software development are Model-View-Controller (MVC), Model-View-Presenter (MVP), and Model-View-ViewModel (MVVM). Each pattern addresses the separation of concerns within an application's architecture, but they do so in distinct ways.

I beleive it is important to know about these software development design patterns as they can be really useful during the planning stage. Therefore, I will be providing information about what these patterns mean, their use cases, benefits, and drawbacks asscociated with each one of them.

This information will be added in the System Design section of the wiki.

khushiagl commented 4 months ago

Great idea! I generally get confused when deciding which one would be the best for my projects. This would help all 301 students to decide the best trade off