SOLID principles & Design Patterns for Java programmers
Create well-designed code and clean architectures for object oriented languages with focus on concepts from the GoF
Description
Welcome to our Design Patterns & SOLID Principles course, developed with Java programmers in mind! We launched the course back in 2020 but are continually checking and updating the coursework as we go along. Our course will help you understand and discover the Design Patterns created by the Gang of Four (Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides) who wrote the book "Design Patterns: Elements of Reusable Object-Oriented Software".
Design Patterns are general solutions to problems that appear over and over again in complex applications. Whether you are familiar with the topic and need a recap, or are starting your programming studies, this course is for you. With a brilliant look at the theory of this topic, the course also brings a practical element into it whereby you can test your own programming skills through our Eclipse projects. Understanding Design Patterns gives you a broad catalogue of general solutions to tackle even the most complicated programming tasks, which have been discovered, analysed and described in detail by the Gang of Four in their book.
What are Design Patterns?
Design Patterns are identified as 23 general, repeatable solutions to problems that we are likely to come across as a programmer and were developed by the infamous Gang of Four. They are divided into 3 main categories: creational, structural and behavioural. We take a look at each of these patterns and explain them in an easy to follow manner, explaining how they can be used to elegantly solve problems while complying with the requirements of encapsulation, extensibility and other factors that a professional design requires.
What are SOLID Principles?
SOLID Principles are perhaps the best-known set of principles to assess the quality of an object-oriented system. They help us detect bad smells in our code and create clean architectures. Examples of these principles include the Open / Closed Principle and the Liskov Substitution Principle. This course will highlight to you what a beautiful and essential part of programming they are. Hoping they come in handy and change your perception even of your work.
Our course program:
Each of our lessons takes you through the theory of a pattern or principle with concise and clear explanations, getting straight to the point. We have created practical exercises via 18 Eclipse projects for you to test your understanding, which comes with an automated correction system. Internalizing the theory through these exercises is fundamental to learning and improving our code writing skills. As well as this, at the end of each section, there is a short quiz for quick-fire checking of your knowledge!
As our students come from all over the world, we have developed subtitles in both English and Spanish to assist with the learning experience. We intend to give our students the best support they can get while taking our course; therefore, we are always on hand to answer any questions via the Q&A tab and message board.
Summary of what our course includes:
- Easy to follow presentations covering Design Patterns & SOLID Principles
- Downloadable PDF of the presentation
- Practical exercises via Eclipse projects with an automated correction system
- End of section quiz
- Subtitles in English (UK & US) and Spanish
If you've been looking for an opportunity to improve your code-writing skills, this is the right course for you!
What You Will Learn!
- Understand the Design Pattern concepts set out by the Gang of Four
- Learn the theory of SOLID Principles
- Practice what you have learned with 18 Eclipse projects with exercises and automated correction system
- Identify bad smells in software design & architecture
- Create high quality standards for your applications with regards to flexibility, maintainability and elegance
- Favor composition over inheritance
- Enrich your design skills and become an overall better programmer
- Master a transferrable skill applicable to all object orientated languages such Java and popular frameworks like Spring or JPA
- Learn to confidently write well-designed code using concepts that are widely recognised in the community
- Master the use of encapsulation and composition to build simple solutions to complex problems
Who Should Attend!
- Java programmers of all levels
- All programmers interested in expanding their knowledge of object-oriented design
- Students with an interest in theory based learning