В моей работе (которая на 90% состоит из Java, но я уверен, что этот вопрос относится к другим языкам) я часто создаю два класса, которые «знают» о каждом. разное. Более конкретно, класс A импортирует B, а класс B импортирует класс A, и оба имеют членские или локальные переменные другого типа.
Считается ли это плохим дизайном? Антипаттерн, если хотите?