loose coupling and high cohesion is ideal
Loose coupling and high cohesion are two important principles of good software design.
Together, loose coupling and high cohesion lead to modular, reusable, and adaptable software systems that are easier to develop and maintain over time.