@oop_ru

Страница 353 из 785
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
в компоненте юзается сервисы
давай так, у тебя 300 компонентов. Всем этим 300-м компонентов нужны ВСЕ методы этого сервиса?

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