Какова наилучшая практика для автоматического подключения класса иерархии? - PullRequest
0 голосов
/ 29 февраля 2020

Предположим, у меня есть следующие классы:

interface MyInterface<T>{}

class SomeClassA implements MyInterface<A> {}

У меня есть несколько вариантов автоматического подключения моего ClassA объекта.

first:

@Service
class MyService {
  MyInterface<A> classA;

  MyService(MyInterface<A> classA) {
    this.classA = classA;
  }
}

second:

@Service
class MyService {
  MyInterface<A> classA;

  MyService(ClassA classA) {
    this.classA = classA;
  }
}

третье:

@Service
class MyService {
  ClassA classA;

  MyService(ClassA classA) {
    this.classA = classA;
  }
}

Каковы плюсы / минусы каждой реализации? Какая из них является лучшей практикой?

1 Ответ

0 голосов
/ 29 февраля 2020

Я бы сказал, есть ли у класса высокая вероятность того, что несколько разных реализаций используют интерфейс, если не используют класс. Я бы начал только с класса и начал использовать интерфейс, когда это действительно необходимо. Это могло бы помочь с удобочитаемостью.

, что всегда делает вас быстрым в данный момент и сохраняет вас быстрым в будущем без заметных потерь энергии :)

...