Когда класс должен реализовывать интерфейс?

Работая над проектом и видя, как разработчики делают следующее в машинописи.

    export class Ledger implements ILedger {
      LedgerID: number;
      CashAmmount: number;
      Units: number;

      public static someFunction {
        // an ajax call for example to a controller
      }
    }

    export interface ILedger {
       LedgerID: number;
       CashAmmount: number;
       Units: number;
     }

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

1 ответ

Решение

Это кажется бессмысленным, если в классе нет реализации.

Согласен. Нет необходимости в этом случае. Но есть действительные случаи

Зависимость вводить

Примерно так: https://github.com/inversify/InversifyJS

Соответствует внешнему Apis

Кто-то просит IFoo, Вы хотите использовать класс в своей кодовой базе для IFoo, Пусть класс расширит его, чтобы вы знали, что класс всегда следует этому внешнему IFoo.

Другие вопросы по тегам