
andretshurotshka?❄️кде
07.10.2017
10:00:39
)

Ilshat
07.10.2017
10:00:43
копипастишь)

Sergey
07.10.2017
10:00:52
что за сервис, что за поле
то что есть дублирование и с ним борются через наследование - это понятно

Google

Sergei
07.10.2017
10:01:39
А хотя... в коллекции всё же есть методы которые не сильно подходят к стеку, тогда нужно имплементировать самый корень выше коллекции т.е. iterable

Sergey
07.10.2017
10:01:43
p.s. мои ангулярщики тоже любят базовый класс для компонентов юзать. так же как и я люблю заюзнуть базовый класс контроллеров. Потому что там эта связанность - ок
другое дело если бы тебя пытались убедить что делать класс BaseService это ок

Ilshat
07.10.2017
10:02:18
вот

Sergey
07.10.2017
10:02:21
или BaseHttpClient

Ilshat
07.10.2017
10:02:31
ща скину
и такой есть

Sergey
07.10.2017
10:02:51
вот это уже симптом плохой декомпозиции.
и в случае с js/angular объем кода не сильно то и поменяется если агрегацию заюзать вместо наследования.

Ilshat
07.10.2017
10:04:18
сейчас, тока там женериков пока нет ибо некогда, поэтому решаю с помощью any (dynamic) Ну у нас в жэс память при этом одна и таже выделяется если что)
https://github.com/rucken/core/blob/master/core/shared/base/services/base-repository.service.ts
вот базовый
а вот отнаследованный

Google

Ilshat
07.10.2017
10:04:47
https://github.com/rucken/core/blob/master/core/shared/services/groups.service.ts

Sergey
07.10.2017
10:04:54
крававый ынтерпрайз в ангуляре
репозитооории
может еще unit-of-work запилили?
что mockedItems делает в этом классе?

Ilshat
07.10.2017
10:05:42
пока он там
еще не вынес

Sergey
07.10.2017
10:05:50
ну и почитай про ISP
Interface Segregation Principle
сейчас твой этот базовы реппозиторий - просто помойка

Ilshat
07.10.2017
10:06:09
там куча всего сейчас, то что выйдет наружу
да помойка я ниче и не говорю
тут у нас во фронте просто несколько вариантов как это все вынести

Sergey
07.10.2017
10:06:49
окей. тогда к чему ты скинул эту штуку? признаешь что тут наследование не нужно?

Ilshat
07.10.2017
10:06:50
пока не определился
нужно

Sergey
07.10.2017
10:07:02
+ у тебя всегда есть "клиентский код" для которого ты эти штуки и пишешь

Ilshat
07.10.2017
10:07:33
в компоненте юзается сервисы

Sergey
07.10.2017
10:07:34

Google

Sergey
07.10.2017
10:07:49