Software Architecture: Meta and SOLID Principles in C#

Location
Online
Dates
Can be taken anytime
Course Type
Professional Training Course
Accreditation
Yes (Details)
Language
English
Price
$10

Course Overview

No fluff no ranting no beating the air. I esteem your time. The course material is succinct yet comprehensive. All important concepts are covered. Particularly important topics are covered in-depth. For absolute beginners I offer my help on Skype absolutely free if requested.

Take this course and you will be satisfied!

SOLID is an acronym which stands for SRP OCP LSP ISP and DIP. These five acronyms in their turn stand for:

  • Single Responsibility Principle
  • Open/Closed Principle
  • Liskov Substitution Principle
  • Interface Segregation Principle
  • Dependency Inversion Principle

In this course you'll learn how to apply meta and SOLID principles so that your application will live a long healthy life. It means you are going to learn how to write code of the high quality: readable understandable and reliable.

Improve your knowledge in object-oriented programming

  • Understand the meta principles on which all the other development principles are based
  • Understand the symptoms of code defects
  • Learn the foundations of SOLID principles
  • Learn how to detect the violations of SOLID principles and how to fix the problems
  • Learn how meta principles and SOLID principles are related to each other and how to find the balance between them

Foundations of writing object-oriented code

  • Despite the fact that C# is a very rich on features language it's very common to see poorly designed and implemented applications in a real world. Language by itself does not guarantee that the architecture of an application will be great. In order to design and build maintainable software we need to understand the principles of software development. This video course is exactly about how to achieve clean and maintainable software.
  • You probably have already heard the following well-known statement: most code sucks. Well this course is all about how to produce code which doesn't suck.
  • Owning skills of producing a well-designed and well-implemented types is the prerequisite for the other developers to treat you as a decent professional.

Content and Overview

This course is aimed at middle and senior developers. Solid experience in C# is required.

There are plenty of code examples throughout this course so that you will learn both theoretical and practical material.

Starting with SOLID principles we will go further to the meta-principles. Going through the SOLID principles you'll also learn about the related patterns. Then we will get to the problem of contradictions between different principles. You'll learn about the relationships between SOLID principles and meta principles.

In general you'll learn in this course:

  • SRP
  • OCP
  • LSP
  • ISP
  • DIP

These are the SOLID principles. You'll learn the background problems that can be solved by particular principle you'll see the demonstrations in code you'll learn the related patterns to every principle.

Learning DIP you'll in addition learn what is Dependency Injection Inversion of Control IoC-Containersand what are the architectural implications of DI.

Here are other topics you'll learn in the course:

  • DRY - don't repeat yourself
  • KISS - keep it simple stupid
  • YAGNI - You Ain't Gonna Need It
  • SoC - separation of concerns
  • CQS - command query separation
  • Law of Demeter
  • Principle of Least Astonishment
  • Information Hiding and Encapsulation
  • API Development Principles
  • Contradiction between SOLID and YAGNI
  • Contradiction between OCP and YAGNI
  • What is Architecture and Design

How long is this course: The course is around 4.5 hours. All are video lectures. You will be able to download all the slides and code samples used in the course.

BASIC KNOWLEDGE

  • Solid C# Background
  • At least half of a year of experience in a real-world project

Who should take this course

Who is the target audience?

  • Juniors with a solid C# background
  • Middle developers who want learn or enhance their knowledge about SOLID principles and Architecture
  • Seniors who want to have a good reminder of what they already know

Accreditation

Course Completion Certificate

Course content

What you will learn:

  • Determine if a class has too many responsibilities
  • Apply SRP to make classes more granular
  • Determine the smell of duplication caused by OCP violation
  • Apply OCP to remove or prevent duplications
  • Make client's lives more enjoyable by applying ISP making interfaces more granular
  • Determine LSP violations which break client's code
  • Apply LSP to come up with proper inheritance
  • Apply DIP to develop plugin architecture
  • Build your own simple IoC-Container
  • Build clean API in C#
  • I'm tired to list all the stuff you'll be able to do after this course

Curriculum:

  • Single Responsibility Principle (SRP)
  • Open/Closed Principle (OCP)
  • Liskov Substitution Principle (LSP)
  • Interface Segregation Principle (ISP)
  • Dependency Inversion Principle (DIP)
  • Metaprinciples and SOLID

About Course Provider

Simpliv LLC, a platform for learning and teaching online courses. We basically focus on online learning which helps to learn business concepts, software technology to develop personal and professional goals through video library by recognized industry experts or trainers.

Why Simpliv

With the ever-evolving industry trends, there is a constant need of the professionally designed learning solutions that deliver key innovations on time and on a budget to achieve long-term success.

Simpliv understands the changing needs and allows the global learners to evaluate their technical abilities by aligning the learnings to key business objectives in order to fill the skills gaps that exist in the various business areas including IT, Marketing, Business Development, and much more.

Frequently asked questions

{{ item.question }}