Course info
January 11, 2017
2h 21m

As software grows more complex, you need to manage this complexity by using various architectural patterns, practices, and principles. In this course, Clean Architecture: Patterns, Practices, and Principles, you will learn how software experts keep their architecture clean using a modern approach to software architecture called Clean Architecture. First, you'll learn about domain-centric architecture, application layers, CQRS (Command-Query Responsibility Separation), event sourcing, functional cohesion, bounded contexts, microservices, testable architecture, and more. In addition, you'll use these practices to replace the out-dated three-layer database-centric architecture that has been used for decades. Most important though, you'll see how these practices, when combined, create an architecture that is simple, understandable, flexible, testable, and maintainable. By the end of this course, you'll have the skills necessary to understand and implement these clean architecture practices on your own software projects.

About the author
About the author

Matthew is a data science consultant, author, and international public speaker. He has over 17 years of professional experience working with tech startups to Fortune 500 companies. He is a Microsoft MVP, ASPInsider, and open-source software contributor.

More from the author
Data Science: The Big Picture
1h 9m
15 Sep 2017
Writing Testable Code
2h 2m
5 May 2017
Data Science with R
2h 30m
25 Oct 2016
More courses by Matthew Renze

Hello, I am Matthew Renzeand and welcome to Clean Architecture: Patterns, Practices, and Principles. Clean Architecture is a set of practices used to create modern software architecture that is simple, understandable, flexible, testable, and maintainable.

In addition, clean architecture is a more modern replacement for the traditional three-layer database-centric architecture that we’ve been using for decades.

As an overview of this course

  1. First, you’ll learn about clean architecture, what it is, and why it’s important
  2. Then, you’ll learn about a series of modern architectural practices like domain-centric architecture, application layers, command-query responsibility separation, functional organization, and microservice architectures
  3. Finally, you’ll see how these architectural practices make your architecture more testable, more maintainable, and allows the architecture to evolve over time
By the end of this course, you’ll have the skills necessary to understand and implement these clean-architecture practices in your own software projects. In addition, throughout this course we’ll be walking through an open-source demo application that implements all of these practices, so you can see how they are implemented first-hand.

As an introductory course, there are no prerequisites for this course. However, having basic experience with at least one c-like programming language and basic knowledge of software architecture will be beneficial.

So please join us today at Pluralsight and learn how create highly effective and maintainable software with Clean Architecture.