Which design principles will you use in Java? 1. **Object-Oriented Principles**: - **Encapsulation**: Hide the internal details of a class and expose a well-defined interface. - **Inheritance**: Create a hierarchy of classes to promote code reuse. - **Polymorphism**: Use interfaces, abstract classes, and method overriding to allow objects of different classes to be treated uniformly. 2. **SOLID Principles**: - **Single Responsibility Principle (SRP)**: A class should have only one reason to change. - **Open/Closed Principle (OCP)**: Software entities (classes, modules, functions, etc.) should be open for extension but closed for modification. - **Liskov Substitution Principle (LSP)**: Subtypes must be substitutable for their base types without affecting the correctness of the program. - **Interface Segregation Principle (ISP)**: Clients should not be forced to depend on interfaces they do not use....