Question
Which SOLID principle ensures that a class has only one
reason to change?Solution
The Single Responsibility Principle (SRP) states that a class should have only one reason to change, meaning it should have only one responsibility or function. This principle promotes cohesion by ensuring each class handles a specific part of the software functionality. For instance, a Customer class should handle customer data, while an Invoice class manages invoice generation. Adhering to SRP simplifies debugging, enhances maintainability, and prevents interdependent changes from cascading through the codebase. Why Other Options Are Incorrect :
- Open/Closed Principle : This emphasizes that classes should be open for extension but closed for modification, unrelated to SRP.
- Liskov Substitution Principle : This ensures that derived classes can replace base classes without altering program correctness.
- Dependency Inversion Principle : This recommends high-level modules should not depend on low-level modules but rather on abstractions.
- Interface Segregation Principle : This advises against forcing a class to implement interfaces it does not use, unrelated to SRP.
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╢рдмреНрджреЛрдВ рдХреЗ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдЙрдкрдпреБя┐╜...
' рд╕рд╛рд╣рд╕рд┐рдХ ' рдХрд╛ рдкрд░реНрдпрд╛рдпрд╡рд╛рдЪреА рд╢рдмреНрдж рдХреНрдпрд╛ рд╣реИ ?
тАШ рдиреАрд░рджтАЩ рдХрд┐рд╕ рд╢рдмреНрдж рдХрд╛ рдкрд░реНрдпрд╛рдпрд╡рд╛рдЪреА рд╣реИ ?┬а
' рдзрди ' рдХреЗ рдкрд░реНрдпрд╛рдпрд╡рд╛рдЪреА рд╢рдмреНрдж рдХреМрди-рд╕реЗ рд╣реИрдВ ?┬а
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рдЪрд╛рд░ рд╡рд╛рдХреНрдп рджрд┐рдП рдЧрдП я┐╜...
рд╕рд╡реЗрдВрд░рд╛
'рдПрдХ рд╕реЗ рдЗрдХреНрдХреАрд╕ рд╣реЛрдирд╛' рдореБрд╣рд╛рд╡рд░реЗ рдХрд╛ рдЕрд░реНрде рдХреНрдпрд╛ рд╣реЛрдЧрд╛?
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рд╢реНрди рдореЗрдВ рджрд┐рдП рдЧрдП рд╢рдмреНрдж рдХреЗ рд╕рдорд╛рдирд╛рд░я┐╜...
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореБрд╣рд╛рд╡рд░реЗ рдХрд╛ рд╕рд░реНрд╡рд╛рдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рдЕрд░реНрде рдЪреБрдирд┐рдПред
рджя┐╜...
тАШрдЙрдкреЗрдХреНрд╖рд╛тАЩ рдХрд╛ рдкрд░реНрдпрд╛рдпрд╡рд╛рдЪреА рдХреМрди-рд╕рд╛ рд╣реИ ?┬а