Question: You are designing a system for processing online orders. The OrderProcessor class handles order logic, including order validation, payment processing, and generating order reports. The
You are designing a system for processing online orders. The OrderProcessor class handles order logic, including order validation, payment processing, and generating order reports. The code has become difficult to maintain. Which SOLID principle is most likely violated in this situation, and how can it be resolved?
OpenClosed Principle OCP; by allowing extensions to handle new responsibilities.
Single Responsibility Principle SRP; by splitting responsibilities into separate classes like OrderValidator, PaymentProcessor, and OrderReporter.
Dependency Inversion Principle DIP; by depending on abstractions for each responsibility.
Liskov Substitution Principle LSP; by ensuring that derived classes can replace the base class without changing the systems behavior.
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
