Свойство Object1 имеет Object1 - PullRequest
0 голосов
/ 23 ноября 2018

Является ли это плохой практикой?

Object1 - это инстанцированная версия Object.

Object1 имеет свойство с именем "Example2", которое также является объектом.Объект Example2 имеет объект, и этот объект - Object1.

Например,

Example2 example = new Example2(this);

Где он хранится как переменная объекта.

Извините, если я 'Я не объясняю себя.Это очень усложнило Google.

Спасибо!

1 Ответ

0 голосов
/ 23 ноября 2018

В общем, это неплохая практика, но я бы посчитал это запахом кода, который стоит изучить.Я рассуждаю по этому поводу так, будто это может нарушить разделение интересов: вашему классу Example явно нужно что-то из класса, на который ссылается this, например,

class MyService {
    private Controller controller;

    public MyService() {
        controller = new MyController(this);
    }
}

Контроллер, имеющий ссылку на сервисэто обычное дело, но наоборот гораздо меньше.

Я уверен, что есть правильные примеры, но я бы сказал, что циклическая ссылка обычно не является хорошим знаком.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...