Jawa / Говнокод #21908 Ссылка на оригинал

0

  1. 1
this.network = new Network(this);

Я ниасилил DI.

Запостил: хуита хуита, (Updated )

Комментарии (25) RSS

  • боюсь даже предположить, чем занимается Network
    Ответить
  • Асилил за тебя DI, проверь:
    controller = new Controller();
    controller.network = new Network(controller);
    Ответить
      • Это внутри Controller'а или снаружи? Если внутри - то это уже говнолокатор сервисов, а не DI получается.
        Ответить
        • между типизированным говнолокатором и DI разница не велика

          но лучше конечно автоинжект в конструктор
          Ответить
          • Велика. Говнолокатор не знает, кому он возвращает текущий объект интерфейс.
            Ответить
            • DI тоже пофиг кому он что возвращает

              Важно что он собирает тебе всю деревяшку объектов
              Внутри Network может еще 140 инжектов быть, и 3 из них в конструктор
              Ответить
              • > DI тоже пофиг кому он что возвращает
                DI может одному объекту заинжектить SimpleNetwork, второму - AdvancedNetwork, а третьему - вообще NetworkMock. Локатор так не сможет, т.к. он не знает, куда пойдёт Network о котором его попросили.
                Ответить
  • вот правильный код на Java
    factory = NetworkFactory.getInstance();
    connector= factory.getNeworkConnector();
    this.network = connector.connect();
    Ответить
    • Что-то не слишком ынтырпрайзно. Не все паттерны использованы.
      Ответить
      • > Не все паттерны использованы
        Надо в статический анализатор правило такое добавить.
        Ответить
        • Продай эту идею разработчикам пивас-студии. Представляю их следующую статью про ядро...
          Ответить

Добавить комментарий

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

    А не использовать ли нам bbcode?


    8