2016-09-08 2 views
1

Работа над проектом и просмотр разработчиками, выполняющими следующее в машинописи.Когда класс должен реализовывать интерфейс?

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 есть ссылки на интерфейс, а иногда и на класс. Хотите начать создавать некоторые соглашения, но хотели бы помочь в правильной практике в этой ситуации?

ответ

2

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

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

Dependency впрыснуть

Что-то вроде: https://github.com/inversify/InversifyJS

СООТВЕТСТВИЕ внешних Apis

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

Смежные вопросы