Object A calls a method of Object B, with some parameters. In those parameters there is pointer back to Object A, so that B can call functionality from Object A. This is a sign of bad design, what is the name for this ?
A similar scenario is when both objects already have the pointer to each other, and it is not passed by parameters. That is also a sign of bad design.
And what is the Golang best practice in such situations ? I need a name for this concept.
You could define interfaces so B doesn’t get/have a pointer to A (and vice versa), but it has an interface instance, which may not necessarily be *A, and provides some decoupling and flexibility