June 10, 2023, 12:01 p.m. | Meqdad Darwish

DEV Community dev.to




To explore how to apply SOLID principles in practice, let's create a story.





The Beginning


Meet Mohammad, a smart person who wants to build a robust payment system.


First of all, Mohammad plans to create a class that has multiple responsibilities, such as adding items, calculating prices, creating a verification process, and accepting payments using different methods.


System initial code:



class Order:
items = []
quantities = []
prices = []
status = "open"

def add_item(self, …

apply cleancode multiple oop payment system person practice process python responsibilities smart solid story verification

Founding AI Engineer, Agents

@ Occam AI | New York

AI Engineer Intern, Agents

@ Occam AI | US

AI Research Scientist

@ Vara | Berlin, Germany and Remote

Data Architect

@ University of Texas at Austin | Austin, TX

Data ETL Engineer

@ University of Texas at Austin | Austin, TX

Consultant - Artificial Intelligence & Data (Google Cloud Data Engineer) - MY / TH

@ Deloitte | Kuala Lumpur, MY