Brief Summary
This course dives into the essentials of software architecture by focusing on SOLID principles and various design patterns. By understanding these, you'll build smart, reusable software that's easy to manage and adapt as complexity grows. Plus, you'll get hands-on experience coding in Java!
Key Points
-
SOLID principles help create flexible and maintainable software.
-
Design patterns are proven solutions to common problems in software design.
-
Different types of design patterns: creational, behavioral, and structural.
-
The MVC pattern helps separate concerns in applications, making them easier to manage.
-
Implementations will be in Java, but concepts apply to any programming language.
Learning Outcomes
-
Grasp the SOLID principles for better software design.
-
Identify and apply different design patterns effectively.
-
Implement the MVC pattern in Java applications.
-
Understand both theoretical and practical aspects of software architecture.
-
Enhance your coding skills by practicing implementations.
About This Course
A guide to Create Smart, Reusable Softwares with SOLID Principles and Design Patterns
This course is about software architecture and design patterns. We will talk about two man topics: SOLID principles and design patterns. We are going to implement the problems in Java, but the theoretical background is language-independent. I highly recommend typing out the implementations several times on your own in order to get a good grasp of it.
Section 1 - SOLIDÂ Principles
what are SOLID principles?
single responsibility principle
open closed principle
Liskov's substitution principle
interface segregation principle
dependency inversion principle
what is dependency injection?
Section 3 - Creational Design Patterns
Section 2 - Behavioral Design Patterns
Section 3 - Structural Design Patterns
Section 4 - Model-View-Controller (MVC) Pattern
In the first part of the course we are going to learn about the SOLID principles. We are going to talk about the theory as well as the implementations.
The second part of the course is about design patterns. We should have a deep understanding of these patterns in order to be able to write reusable software components. These techniques are becoming more and more important as applications are getting more and more complex, so - in my opinion - these topics are good to know.
Thank for joining the course, let's get started!
understand SOLID principles
understand the core of design patterns
undertand object oriented design
Vladimir L.
bueno