Size: a a a

2020 February 26

DS

Dmitriy S in Yii Framework 3
Nex Otaku
Кладезь аргументов...
Объясняю для самых маленьких. У тебя сломалась машина, не заводится. Допустим сдох аккум. Ты берешь техспецификацию на машину и едешь в магаз. Техспецификация - это набор контрактов. Там указано, какая запчасть тебе подойдет по параметрам, даже если она другого производителя. По ней тебе продадут подходящую запчасть. Теперь представь что техспецификация у тебя написана под аккумом и переписать ты ее не можешь. Теперь тебе придется везти машину эвакуатором к магазину, чтобы там посмотрели твой контракт на аккум и продали тебе подходящий.
источник

AM

Alexander Makarov in Yii Framework 3
Давайте закроем эту тему, @yiiliveext лучше расскажи, какие именно интерфейсы ты хочешь?
источник

AM

Alexander Makarov in Yii Framework 3
Аналогии - грязный трюк ;)
источник

А

Алексей R in Yii Framework 3
да, надо предметно посмотреть какие пакеты лучше не тянуть из-за интерфейсов и потом смотреть, что с этим делать
источник

NO

Nex Otaku in Yii Framework 3
Алексей R
почему контракт не может разграничивать области взаимодействия компонентов?
Цель контракта, упростить взаимодействие благодаря чётко прописанным и сведённым к минимуму способам взаимодействия. Это лишь часть той пользы, которую даёт интерфейс. Главная его польза всё же не в введении контракта.
источник

DS

Dmitriy S in Yii Framework 3
Alexander Makarov
Давайте закроем эту тему, @yiiliveext лучше расскажи, какие именно интерфейсы ты хочешь?
Сейчас конкретно никаких. Интересуюсь в целом. Если совсем не понятно для чего это, то могу привести пример на конкретных пакетах.
источник

AM

Alexander Makarov in Yii Framework 3
Dmitriy S
Сейчас конкретно никаких. Интересуюсь в целом. Если совсем не понятно для чего это, то могу привести пример на конкретных пакетах.
Понятно. Предлагай конкретно, запилим.
источник

NO

Nex Otaku in Yii Framework 3
Не могу отвечать на вопросы, ухожу по делам ) Счастливо, всем читать "Чистую архитектуру" Роберта Мартина )
источник

А

Алексей R in Yii Framework 3
Nex Otaku
Цель контракта, упростить взаимодействие благодаря чётко прописанным и сведённым к минимуму способам взаимодействия. Это лишь часть той пользы, которую даёт интерфейс. Главная его польза всё же не в введении контракта.
мне кажется, что мы говорим об одном разными словами
источник

NO

Nex Otaku in Yii Framework 3
"Объясняю для самых маленьких" — опять хамство...
источник

AM

Alexander Makarov in Yii Framework 3
Мартин писать не умеет :( Не читается вообще. Но контент хороший.
источник

Д

Дмитрий in Yii Framework 3
Dmitriy S
Я помню, был разговор, чтобы вынести все интерфейсы в отдельный пакет/пакеты. Чем закончилось?
Он имел ввиду про вынесение всех (все, которые существуют в пакете) интерфейсов, в отдельный пакет, дабы создать абстракцию к пакету, а не вязаться на сам пакет. Не все интерфейсы в один пакет, а по каждому пакету вынести интерфейсы в отдельный пакет. 100 пакетов -> 100+ пакетов с интерфейсами.
Надеюсь, я правильно объяснил :)

А ответ на этот вопрос: не все пакеты хотели так делить, по памяти помню только переводчик, и его вынесли уже
источник

AM

Alexander Makarov in Yii Framework 3
Алексей R
мне кажется, что мы говорим об одном разными словами
+
источник

DS

Dmitriy S in Yii Framework 3
Дмитрий
Он имел ввиду про вынесение всех (все, которые существуют в пакете) интерфейсов, в отдельный пакет, дабы создать абстракцию к пакету, а не вязаться на сам пакет. Не все интерфейсы в один пакет, а по каждому пакету вынести интерфейсы в отдельный пакет. 100 пакетов -> 100+ пакетов с интерфейсами.
Надеюсь, я правильно объяснил :)

А ответ на этот вопрос: не все пакеты хотели так делить, по памяти помню только переводчик, и его вынесли уже
Не обязательно все отдельно, можно логически сгруппировать.
источник

AM

Alexander Makarov in Yii Framework 3
Дмитрий
Он имел ввиду про вынесение всех (все, которые существуют в пакете) интерфейсов, в отдельный пакет, дабы создать абстракцию к пакету, а не вязаться на сам пакет. Не все интерфейсы в один пакет, а по каждому пакету вынести интерфейсы в отдельный пакет. 100 пакетов -> 100+ пакетов с интерфейсами.
Надеюсь, я правильно объяснил :)

А ответ на этот вопрос: не все пакеты хотели так делить, по памяти помню только переводчик, и его вынесли уже
Не только переводчик. Ещё есть PSR, есть friendly exception, RBAC, auth.
источник

AM

Alexander Makarov in Yii Framework 3
Dmitriy S
Не обязательно все отдельно, можно логически сгруппировать.
Нет, нельзя.
источник

AM

Alexander Makarov in Yii Framework 3
источник

AM

Alexander Makarov in Yii Framework 3
вот примерно так будет
источник

Д

Дмитрий in Yii Framework 3
Alexander Makarov
Не только переводчик. Ещё есть PSR, есть friendly exception, RBAC, auth.
Пср уже вынесен, и он не наш, а другие пакеты уже давно были абстрагированы
источник

DS

Dmitriy S in Yii Framework 3
Alexander Makarov
вот примерно так будет
Та это понятно, для каждого пакета отдельно - лучше, но и разбить по назначению не приведет к тем последствиям о которых ты пишешь.
источник