Size: a a a

var chat = new Chat();

2021 September 29

EG

Egor Gusarenko in var chat = new Chat();
Ну, человек выше тоже прав
источник

A

Aleksey in var chat = new Chat();
если у него будет доступ до твоего класса он можем изменить его поведение
источник

EG

Egor Gusarenko in var chat = new Chat();
Интерфейсы и абстрактные классы короче пишутся для людей читающих код, а не для машины
источник

A

Aleksey in var chat = new Chat();
ну как бы ооп и нужно чтобы легче было писать и читать
источник

A

Aleksey in var chat = new Chat();
а так можно то все чисто функциональщиной писать но будет ли удобно
источник

AB

Andrey Big in var chat = new Chat();
Понял , спасибо
источник

AB

Andrey Big in var chat = new Chat();
Я как понимаю на джуна с пет проектом если хочу залететь это не страшно, если я их не особо качественно использую ?
источник

AS

Alex SAS in var chat = new Chat();
интерфейсы по сути нужны, что бы организовать работу большой группы разработчиков, которые могут вообще ничего не знать о существовании друг друга, и использовать практически любой язык программирования, так как есть только входные и выходные данные и черный куб (магический по центру)
источник

MN

Mr. N in var chat = new Chat();
👀
источник

A

Aleksey in var chat = new Chat();
попробуй сделать веб приложение с многослойной архитектурой, думаю тогда станет понятно зачем
источник

MN

Mr. N in var chat = new Chat();
не щоб можно было подменять реализацию без изменения класа
источник

MN

Mr. N in var chat = new Chat();
Например есть 5 класов , A,B,C,D,F
источник

MN

Mr. N in var chat = new Chat();
в каждого есть по методу Start
источник

MN

Mr. N in var chat = new Chat();
и есть метод X
источник

MN

Mr. N in var chat = new Chat();
которой принимает все эти 5 класов
источник

MN

Mr. N in var chat = new Chat();
и вызывает этот метод
источник

MN

Mr. N in var chat = new Chat();
Ну теперь можно подумать как это сделать можно ,можно с помощью dynamic😁
источник

VL

Vova Lantsov in var chat = new Chat();
Если простыми словами
Код, построеный на интерфейсах, не требует правок в случае подмены реализации на другую, в этом задумка
Ты используешь по факту договор, в котором кто-то обязуется предоставить для тебя следующие методы/свойства
И тебе без разницы какую именно реализацию подсунут
источник

EG

Egor Gusarenko in var chat = new Chat();
++

Интерфейс это контракт
источник

MN

Mr. N in var chat = new Chat();
до C# 8
источник