Simple play icon Course

C# Design Patterns: Rules Engine Pattern

by Steve Smith

This course will teach you to apply simple rules engines to problems involving excess conditional complexity.

What you'll learn

Design Patterns are like individual tools you can add to your toolkit as a software developer.

In this course, C# Design Patterns: Rules Pattern, you’ll learn to build and use a simple rules engine.

First, you’ll explore examples of problems and code smells that may benefit from applying rules.
Next, you’ll discover how to build a simple rules engine.
Finally, you’ll learn how to apply the engine in real application code and extend the application with new functionality.

When you’re finished with this course, you’ll have the skills and knowledge of the rules engine pattern needed to apply it in your own applications.

Course FAQ

Who uses C#?

C# is often used by Windows Desktop app creators or game creators.

What are some of the benefits of the rules engine design pattern?

Benefits include: declarative programming, logic and data separation, speed and scalability, centralization of knowledge, and tool integration.

What are java rules engines?

Java's Rule Engines are used to externalize the business or application logic. A rule engine is commonly viewed as a sophisticated interpreter of it-then statements.

What prerequisites are needed?

Prerequisites for this course are a basic understanding of C#

What is C# used for?

C# can be used to build and create almost anything, but C# is particularly strong when building Windows desktop applications and games.

About the author

Steve Smith (@ardalis) is an entrepreneur and software developer with a passion for building quality software as effectively as possible. He provides mentoring and training workshops for teams with the desire to improve. Steve has been recognized as a Microsoft MVP for over 10 consecutive years, and is a frequent speaker at software developer conferences and events. He is the top contributor to the official documentation on ASP.NET Core and enjoys helpings others write maintainable, testable app... more

Ready to upskill? Get started