Size: a a a

2020 June 08

А

Александр in unity3d.ru
Мне казалось основные принципы ООП построены для того, что упростить имплементацию😅 ключевая идея в том, чтобы правильно всегда подбирать инструмент, а так копать землю ножницами и резать бумагу лопатой получается, в какую сторону не глянь, всеравно больно
источник

IL

Ilya Lataria in unity3d.ru
Александр
Мне казалось основные принципы ООП построены для того, что упростить имплементацию😅 ключевая идея в том, чтобы правильно всегда подбирать инструмент, а так копать землю ножницами и резать бумагу лопатой получается, в какую сторону не глянь, всеравно больно
вот именно, когда упрощением является не писать код, когда его писать не надо
источник

IL

Ilya Lataria in unity3d.ru
а интерфейсы тебя вынудят его писать, надо или нет
источник

А

Александр in unity3d.ru
Но лучше так, чем потом менять корневую архитектуру ИМХО
источник

PD

Paul Dyatlov in unity3d.ru
Ilya Lataria
да ну? а клиентскому код вынуждать реализовывать твой интерфейс когда он  имеет логичную дефолтную логику
Скатились на какую-то совсем жидкую воду, абсолютно беспредметную, без конкретики
источник

IL

Ilya Lataria in unity3d.ru
Александр
Но лучше так, чем потом менять корневую архитектуру ИМХО
Ты ошибаешься. Принцип L тут идет на помощ
источник

GV

Gleb Vorontcov in unity3d.ru
Ilya Lataria
1. Ты назвал первым различием возможность множественного наследования. Засчитано.
2. Абстрактный класс может содержать логику и это плюс в сторону абстрактного класса и минус в сторону интерфейса.
3. Абстрактный класс легко можно заставить реализовать полностью, точно так же как и интерфейс.
4. Касательно структуры, засчитано, но сейчас мы не о них, структуры это тип значений, другая тема.

1. Шаблоном может выйти и абстрактный класс
2. Композиция так же возможно и легко через классы
1. Не спорю, что абстрактные классы могут выступать и шаблоном, но тогда надо ручками делать виртуальные методы, свойства - это как минимум лень.
2. Тоже не спорю, но опять же есть ограничение - наследник должен наследоваться от абстрактного класса, который уже имеет логику. Но оба эти вопроса - это вопросы правильного применения. И не думаю, что стоит тут дальше спорить, так как чувствую, что мы сходимся в этом.
источник

IL

Ilya Lataria in unity3d.ru
любая реалилзация одного типа должна быть легко заменяма типом базовым, не важно интерфейс это будет или класс
источник

G

Graf in unity3d.ru
В архитектурный можете перейти чат
источник

IL

Ilya Lataria in unity3d.ru
так что никакой боли, это фантазии
источник

IL

Ilya Lataria in unity3d.ru
Graf
В архитектурный можете перейти чат
там люди не любят об архитектуре, они любят о конкретике
источник

GV

Gleb Vorontcov in unity3d.ru
Ilya Lataria
любая реалилзация одного типа должна быть легко заменяма типом базовым, не важно интерфейс это будет или класс
да, верно, но когда у тебя есть утки, которые умеют плавать, и корабли, которые умеют плавать...то тут общий предок - ну так себе) а из-за ограничения абстрактного класса в множественном наследовании - кроме интерфейса больше и не приходит на ум
источник

IL

Ilya Lataria in unity3d.ru
Gleb Vorontcov
1. Не спорю, что абстрактные классы могут выступать и шаблоном, но тогда надо ручками делать виртуальные методы, свойства - это как минимум лень.
2. Тоже не спорю, но опять же есть ограничение - наследник должен наследоваться от абстрактного класса, который уже имеет логику. Но оба эти вопроса - это вопросы правильного применения. И не думаю, что стоит тут дальше спорить, так как чувствую, что мы сходимся в этом.
1. Ручками писать один раз виртуальный метод лень, а реализовывать 30 раз интерфейс не лень. Ты серьезно?
2. Класс не всегда должен иметь логику, не аргумент.

В целом мы говорим об одном и томже, согласен
источник

SS

Sam Serious in unity3d.ru
Кому как больше нравится, тот так и делает, вот и все
источник

IL

Ilya Lataria in unity3d.ru
Sam Serious
Кому как больше нравится, тот так и делает, вот и все
кому как больше нравится делает у себя в уборной, бро)))
источник

IL

Ilya Lataria in unity3d.ru
а у нас команда)))
источник

А

Александр in unity3d.ru
Ilya Lataria
1. Ручками писать один раз виртуальный метод лень, а реализовывать 30 раз интерфейс не лень. Ты серьезно?
2. Класс не всегда должен иметь логику, не аргумент.

В целом мы говорим об одном и томже, согласен
1. Аргумент бред, архитектура от такого общего предка умрет
источник

IL

Ilya Lataria in unity3d.ru
Александр
1. Аргумент бред, архитектура от такого общего предка умрет
какой еще один предок архитектуры?
источник

А

Александр in unity3d.ru
Не забывайте что ваш код не только вы смотрите, архитектора должна быть читаема и понятна
источник

IL

Ilya Lataria in unity3d.ru
Процитируй меня, где я такое сказал
источник