Email the Author
You can use this page to email EngineerSpock about Software Architecture: Meta and SOLID Principles in C#.
About the Book
In this book, 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
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.
Learning DIP you’ll in addition learn what is Dependency Injection, Inversion of Control, IoC-Containers and 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
About the Author
I'm thankful enough for that I love what I do.
I began my career as a postgraduate student participating in Microsoft ImagineCup contest.
I've been working with .NET platform since 2003. I've been professionally architecting and implementing software for more than 10 years, primarily based on the .NET platform. I'm passionate about building rich and powerful applications using modern technologies. I'm a certified specialist in Windows Applications and Service Communication Applications by Microsoft. I'm one of the coordinators of the MskDotNet User Group in Moscow.
"If it's work, we try to do less. If it's art, we try to do more." - Seth Godin.
What I can say is that software is my art.