I am writing code to create a simple game, but I am not sure that this part is tightly coupled or not(high coupling):
There is an interface called GameEngine in which it controls the flow of the game. And there is a class called GameEngineImpl that implements the GameEngine interface. In other classes like A, B, and C, they use GameEngine like this:
public class A {
private GameEngine model;
public A(GameEngine model, ...) {
this.model = model;
}
public void draw() {
model.tick();
}
}
The other two classes also use GameEngine in a similar way as the class A.
When I converted it into UML class diagram, the classes, A, B, and C's dependencies were pointing towards the GameEngine interface and GameEngineImpl class was pointing the GameEngine interface.
Would this be a tightly coupled code?