Tags
Language
Tags
June 2025
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 1 2 3 4 5
    Attention❗ To save your time, in order to download anything on this site, you must be registered 👉 HERE. If you do not have a registration yet, it is better to do it right away. ✌

    ( • )( • ) ( ͡⚆ ͜ʖ ͡⚆ ) (‿ˠ‿)
    SpicyMags.xyz

    Master Solid Principles For Software Design & Architecture

    Posted By: ELK1nG
    Master Solid Principles For Software Design & Architecture

    Master Solid Principles For Software Design & Architecture
    Published 10/2023
    MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
    Language: English | Size: 920.22 MB | Duration: 2h 42m

    Guide to mastering SOLID principles for software design & architecture to write maintainable, scalable, and robust code

    What you'll learn

    You'll learn why, when, and how you should apply the SOLID principles to write higher quality code

    In addition to knowing when to apply the SOLID principles, you'll also learn when and how to violate them, so you could create better overall code design

    Understand the basic foundation of software architecture

    Write better code without having to memorize design patterns

    Learn how to identify poorly written code and robust quality code

    Learn core ideas that describe code quality, like coupling and cohesion

    Take your code quality to the next level and become a better software engineer

    Learn why the SOLID principles matter and how to apply them to real-world problems

    Requirements

    Basics of object-oriented programming, knowing what classes, inheritance, and interfaces are

    Description

    In this course you will learn why SOLID principles are important and how to apply them to write maintainable, scalable, and robust code.SOLID is an acronym for 5 software design principles that were refined over a long period of time by multiple software engineers to address the core recurring problems in software development.Take your code quality to the next levelCode quality is important to have, and improving code quality is something that all software engineers should strive for. Luckily, writing quality code is a learnable skill, but it's sometimes hard to know where to start or what to learn next. Do you know any programming language, but don't know what to do next? Maybe you are more experienced and are looking to add more to your arsenal or refresh your knowledge? If so, then learning the SOLID principles is a very good next step for you. It doesn't matter if you're a beginner or have a background in software, the SOLID principles will make you a better software developer and will make you stand out from the crowd.Build a SOLID foundation for software design and architectureThe goal of this course is to help you understand the core ideas behind software design and architecture that are used by experienced software engineers and architects. All without requiring you to memorize a bunch of object-oriented programming (OOP) design patterns. Patterns only help you in specific situations, but when you encounter a new situation, memorized patterns cannot help you if you don't understand how they work. That's why in this course we'll be focusing on ideas behind the principles, what and why they are trying to achieve, and, most importantly, how they are trying to achieve it. After taking this course you'll level up your programming skills and will be able to deal with code design problems that are new to you.Acquire long-lasting skillsIn this course I'll present you code examples in Java programming language. However, my goal is not to teach you Java or any other technology, my goal is to teach you the thought process behind writing better code and applying the SOLID principles.At the end of this course you'll have skills that won't go out of fashion with the next popular technology change. SOLID principles have passed the test of time and are here to stay.Course overviewTogether, in this course we will explore real-world problems that software developers run into on a daily basis instead of studying textbook examples that barely represent reality. You'll find a mix of relevant theory, practical coding exercises that will be done on-screen, and quizzes for you to take on your own. The quizzes are designed to convey the most important things, and you'll even be able to use them as a cheat sheet later.On top of all this, the course has as little technical jargon as possible and I try to explain things in everyday language.The course is divided into 5 sections, one for each of the principles:Single Responsibility PrincipleOpen-Closed PrincipleLiskov Substitution PrincipleInterface Segregation PrincipleDependency Inversion PrincipleIn each section we cover the required theory, and after that you are presented with a quiz that helps you better remember the theory before proceeding to a practical code example. After practical code examples we have a few more lectures to fill in any remaining gaps or explore things by looking at the bigger picture, we also explore when it would make sense to intentionally go against the SOLID principles for a better overall code design. The last part of each section is another quiz to further solidify your newly acquired knowledge.By the end of this course you will be able to identify common problems in code, and you'll know how to correct them.So, with all being said, if you're looking to improve your skills and write better code, look no further, because this course is for you.

    Overview

    Section 1: Introduction

    Lecture 1 Introduction

    Lecture 2 Why you should learn the SOLID principles

    Section 2: Single Responsibility Principle

    Lecture 3 Introduction to the Single Responsibility Principle

    Lecture 4 Defining software entities and code modules

    Lecture 5 What counts as a responsibility

    Lecture 6 Goals of the Single Responsibility Principle and why it matters

    Lecture 7 Coding exercise. Identifying responsibilities in the code example

    Lecture 8 Coding exercise. Fixing the code to follow the Single Responsibility Principle

    Lecture 9 When and how can we violate the Single Responsibility Principle

    Lecture 10 How the scale of our code affects the Single Responsibility Principle

    Section 3: Open-Closed Principle

    Lecture 11 Introduction to the Open-Closed Principle

    Lecture 12 Two approaches to the Open-Closed Principle

    Lecture 13 What the Open-Closed Principle is NOT about

    Lecture 14 Dependency Injection

    Lecture 15 Coding exercise. Identifying things in code that cannot be extended

    Lecture 16 Coding exercise. Fixing the code to be extendable

    Lecture 17 What to do if dependency injection is not available. Declarative programming

    Section 4: Liskov Substitution Principle

    Lecture 18 Introduction to the Liskov Substitution Principle

    Lecture 19 What the Liskov Substitution Principle applies to

    Lecture 20 Program behavior and what it means to not alter it

    Lecture 21 Code examples

    Lecture 22 When and how can we violate the Liskov Substitution Principle

    Lecture 23 How the Liskov Substitution Principle relates to abstractions

    Section 5: Interface Segregation Principle

    Lecture 24 Introduction to the Interface Segregation Principle

    Lecture 25 Coupling. What it means to depend on code

    Lecture 26 What is a public interface

    Lecture 27 Comparing Single Responsibility and Interface Segregation Principles

    Lecture 28 Code example

    Lecture 29 Why the Interface Segregation Principle is important

    Section 6: Dependency Inversion Principle

    Lecture 30 Introduction to the Dependency Inversion Principle

    Lecture 31 What the Dependency Inversion Principle is about

    Lecture 32 What dependency inversion means

    Lecture 33 Coding exercise. Identifying dependencies in the code example

    Lecture 34 Coding exercise. Rewriting the code to follow the Dependency Inversion Principle

    Lecture 35 Is it possible to make all of our code modules independent

    Lecture 36 What modules are best to depend on

    Lecture 37 Dangers of over-applying the Dependency Inversion Principle

    Lecture 38 How the scale of our code affects the Dependency Inversion Principle

    Section 7: Outro

    Lecture 39 Final lecture

    People who care about the quality of their code and want to improve it,Everyone who wants to start learning about software architecture,Beginners who want to take their skills to the next level, but don't know where to start,More experienced developers who want to strengthen their abilities