The before code shows one class handling user creation, order placement, and payment processing, mixing responsibilities. The after code splits these into three classes, each focused on a single responsibility, making the code easier to maintain and scale.
### Before: Single service handling multiple responsibilities
class ECommerceService:
def create_user(self, user_data):
# code to create user
pass
def place_order(self, order_data):
# code to place order
pass
def process_payment(self, payment_data):
# code to process payment
pass
### After: Separate services each with single responsibility
# User Service
class UserService:
def create_user(self, user_data):
# code to create user
pass
# Order Service
class OrderService:
def place_order(self, order_data):
# code to place order
pass
# Payment Service
class PaymentService:
def process_payment(self, payment_data):
# code to process payment
pass