Design patterns coding challenges

Practise design patterns with 8 coding challenges, from easy to hard. Every challenge runs in your browser with instant tests, an AI review of your code and community solutions to compare.

Easy · 6 Medium · 2

Skills you'll practise: Adapter patternBuilder patternComposite patternDecorator patternDictionariesFacade patternFactory methodObserver patternPercentagesPolymorphismShared stateSingleton
  • Python · C++ · C#
  • Automated tests
  • AI code review
  • Community solutions
226
Challenges
2
Solutions shared
3
Languages

All challenges

Search by topic, language, or difficulty.

8 challenges
Easy

Checkout Facade

Hide stock checks and price totals behind one simple checkout call.

You'll learn Facade patternValidation
ArraysDesign patternsSimulation
No solutions yet
Medium

Composite Folder Sizes

Compute the total size of every folder in a tree where folders contain files and other folders.

You'll learn Composite patternTrees
Design patternsRecursionTrees
No solutions yet
Easy

Shape Factory

Create shapes from text descriptions with a factory and return the area of each one.

You'll learn Factory methodPolymorphism
Design patternsParsingmath
No solutions yet
Easy

One Shared Configuration

Simulate a singleton settings object: every part of the program reads and writes the same instance.

You'll learn SingletonShared state
BeginnerDesign patternsSimulation
No solutions yet
Easy

Temperature Sensor Adapter

Adapt readings from Fahrenheit, Kelvin and Celsius sensors to one Celsius interface.

You'll learn Adapter patternUnit conversion
Design patternsParsingmath
No solutions yet
Easy

Event Subscribers

Deliver events to the subscribers of each topic, observer style, and count what everyone receives.

You'll learn Observer patternDictionaries
Design patternsSimulationStrings
No solutions yet
Easy

Price Decorators

Wrap a base price in discount, tax, shipping and coupon decorators applied in order.

You'll learn Decorator patternPercentages
Design patternsSimulationmath
No solutions yet
Medium

SQL Query Builder

Assemble a SQL query from parts given in any order, the way a builder object collects settings step by step.

You'll learn Builder patternString assembly
Design patternsParsingStrings
No solutions yet