Статический начальный конструктор - PullRequest
0 голосов
/ 16 октября 2018

Пока я искал, как перейти на машинописный код моего nodejs, я нашел что-то вроде этого:

class Server {
  public app: any;

  constructor() {
    this.app = express();

  }

  public static bootstrap(): Server {
    return new Server();
  }
}

Что используется так:

const app = Server.bootstrap().app;

Мой вопрос: чтоявляется преимуществом использования статического метода по сравнению с обычным конструктором, является ли это наилучшей практикой или зависит от варианта использования.Это шаблон дизайна?

1 Ответ

0 голосов
/ 16 октября 2018

Ключевое слово static определяет статический метод для класса.Статические методы не вызываются в экземплярах класса.Вместо этого они вызваны на сам класс.Часто это служебные функции, такие как функции для создания или клонирования объектов.Там, где вам не нужно поддерживать какое-либо состояние.

Пример: Number.isInteger ().Вы можете вызывать статические функции без его создания.

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

...