@oop_ru

Страница 8 из 785
Aleh
03.12.2016
21:58:52
если конечно руки не из жопы)

Artur
03.12.2016
21:59:05
моя модель отнаследованная от фреймворка и есть адаптер
приведи пример чтобы было понятно что мы об одном и том же

схематически

Aleh
03.12.2016
21:59:09
а елеквенты вот да, адаптеры для доступа

Google
Aleh
03.12.2016
21:59:21
и отдельно от них доменная модель

Artur
03.12.2016
21:59:25
Aleh
03.12.2016
21:59:41
иногда доменной нет, потому что нет правил перехода стейта

Artur
03.12.2016
21:59:57
ну вот сущности, которые мапятся доктриной как раз полностью от нее отвязаны
так ты свёл сущьности к "бизнес обхектам" или контейнеру с данными

Aleh
03.12.2016
21:59:59
и тогда остается только адаптер элоквента

Artur
03.12.2016
22:00:02
как их там называют....

Artur
03.12.2016
22:00:15
Aleh
03.12.2016
22:00:50
о куда ты будешь писать код для МОДЕЛИ
вот ща я не понял и тебе надо мне немного разжевать

Artur
03.12.2016
22:01:00
ну две разные штуки ж
ты по делу скажи

схему нарисуй хоть текстовую

где запросы живут

где резхультат хранится

Google
Aleh
03.12.2016
22:01:21
запросы к базе?

Artur
03.12.2016
22:01:26
да

Aleh
03.12.2016
22:01:31
в реализации репозиториев

Artur
03.12.2016
22:01:36
мне например очень нравится то что умерло - onphp

там было просто ахрененно

Aleh
03.12.2016
22:01:43
а интерфейсы репозиториев живут рядом с сущностями

Artur
03.12.2016
22:01:46
лара просто подсасывает

D'
03.12.2016
22:02:24
часто ты там репозитории меняешь?

Artur
03.12.2016
22:02:27
хоть в патнте от руки

меня правда напрягает модель в современных фреймворках пхп

это вообще не то

но это не про наследование нихрена!

Aleh
03.12.2016
22:03:12
ну представь папочку CoreDomain в ней есть Product.php это класс и Catalog.php это интерфейс. В папочке AppBundle или какой-нибудь Infrastructure живет DoctrineCatalog.php где реализация Catalog.php для работы с базой через доктрину

Artur
03.12.2016
22:03:24
в т.ч.

не только

save() это не задача бизнес обхекта

Aleh
03.12.2016
22:04:07
часто ты там репозитории меняешь?
как перчатки, вообще не меняю

Evgeniy
03.12.2016
22:04:17
просто 2 варианта или ar или datamapper или запросы ручками со всякими хелперами

Google
D'
03.12.2016
22:04:29
как перчатки, вообще не меняю
зачем тебе тогда слабая связанность, интерфейсы, куча абстракций?

Aleh
03.12.2016
22:04:49
1, 2 много?

Artur
03.12.2016
22:04:49
бля

https://ru.wikipedia.org/wiki/%D0%94%D0%BE%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82 https://en.wikipedia.org/wiki/Business_object

D'
03.12.2016
22:05:03
1, 2 много?
для каждого? да

Artur
03.12.2016
22:05:10
это одно и то же? ))))

Aleh
03.12.2016
22:05:14
для каждого кого?

D'
03.12.2016
22:05:22
хз кто там у тебя

D'
03.12.2016
22:05:36
ты там для каждой сущности лепишь репозитории на интерфейсах через фабрики

Aleh
03.12.2016
22:06:07
уже странно с неймингом
ну ты конкретнее

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

Aleh
03.12.2016
22:07:12
но ты не указал кто на что ссылается. или связь двусторонняя. или через хэлперы
interface Catalog { find(ProductId $id): Product; findAll(): Product[]; add(Product $product); }

Artur
03.12.2016
22:07:19
ICatalog же

Aleh
03.12.2016
22:07:23
фу

Google
Aleh
03.12.2016
22:07:26
префиксы

Evgeniy
03.12.2016
22:07:27
.net?

Artur
03.12.2016
22:07:32
я иногда пишу IfaceCatalog но меня както затралили по поводу

.net?
нет

это важно когда в иде работаешь

Evgeniy
03.12.2016
22:07:45
там вроде так ринято

D'
03.12.2016
22:07:49
Вон @arturpanteleev тоже решил в ООП. Все в кучу смешал. Фабрики, адаптеры.

Artur
03.12.2016
22:07:52
эжто си ж

Evgeniy
03.12.2016
22:08:02
С #

?

Артур Евгеньевич
03.12.2016
22:08:08
Sergei
03.12.2016
22:08:11
@f3ath
Мы на курсах по деторождению, присоединюсь к раздаче через пару часов.

Artur
03.12.2016
22:08:11
ЭТО си без плюсов

Артур Евгеньевич
03.12.2016
22:08:17
самый прикол что половина из того что я написал не нужна

Aleh
03.12.2016
22:08:22
пользователю твоего кода все-равно интерфейс там или класс, так зачем мне его как-то помечать

Артур Евгеньевич
03.12.2016
22:08:23
https://github.com/geocoder-php/Geocoder

Artur
03.12.2016
22:08:24
а у меня php итп )

D'
03.12.2016
22:08:34
ну да каша вышла
убери ты эти Factory/Adapter

Они там вообще не в тему

Google
D'
03.12.2016
22:08:44
Просто MapService, Yandex

Aleh
03.12.2016
22:08:45
может венгерскую нотацию юзать?

Артур Евгеньевич
03.12.2016
22:08:53
D'
03.12.2016
22:08:55
Artur
03.12.2016
22:09:02
пользователю твоего кода все-равно интерфейс там или класс, так зачем мне его как-то помечать
когда в автодополнении будут десятки классов хочется не ошибится при выборе интерфейса

Артур Евгеньевич
03.12.2016
22:09:02
фабрика генерирует объекты для нас

а адаптер обертка над либой

D'
03.12.2016
22:09:11
фабрика генерирует объекты для нас
она у тебя не генерирует

Artur
03.12.2016
22:09:15
фабрика генерирует объекты для нас
ненавижу глобальные фабрики

Artur
03.12.2016
22:09:20
и вообще я против магии

Aleh
03.12.2016
22:09:27
почему у тебя в автодополнении куча классов?

Artur
03.12.2016
22:09:34
Aleh
03.12.2016
22:09:48
ты ж прописываешь namespace

use MyFavoriteApp\Catalog;

Артур Евгеньевич
03.12.2016
22:10:07
она у тебя не генерирует
ну не обхекты а массивы

Aleh
03.12.2016
22:10:07
и там нет кучи классов

ты точно каталог хочешь

Артур Евгеньевич
03.12.2016
22:10:16
просто модель было реально бы лишним создавать

Artur
03.12.2016
22:10:25
и там нет кучи классов
в автодопоолнении

Aleh
03.12.2016
22:10:46
каком автодополнении? Их много разных

Artur
03.12.2016
22:10:50
когда пишешь IPE имея ввиду "интерфейс паблик експорт"

Страница 8 из 785