Я видел это в чей-то код и думал ничего себе, это элегантный способ решить эту конкретную проблему, но он, вероятно, нарушает хорошие принципы ОО эпическим способом.Неправильная практика иметь класс, требующий ссылки на экземпляр объекта?
В конструкторе для набора классов, все из которого производятся из общего базового класса, он требует ссылки на класс instancing, который должен быть передан. Например,
Foo Foo_i = new (this);
Затем в дальнейшем Foo вызовет методы в классе instancing для получения информации о себе и других объектах, содержащихся в классе instancing.
С одной стороны, это упрощает TON кода, который моделирует структуру дерева на 5 слоев в аппаратном обеспечении (агенты подключаются к портам на нескольких коммутаторах и т. Д.). С другой стороны, эти объекты довольно тесно связаны друг с другом таким образом, который кажется довольно неправильным, но я недостаточно знаю об OOA & D, чтобы наложить на него свой палец.
Итак, все в порядке? Или это эквивалент OO для инструкции goto?
Я никогда не слышал, что это плохая практика, в некоторых случаях это довольно удобно. – Rob