|
|
|
Generics на уровне классов и возможны ли излишества
|
|||
|---|---|---|---|
|
#18+
Добрый день, Я недавно вернулся на один проект и был удивлен увидев там изменения на уровне моделей (для БД). Данные измения относятся ко всеобщему использованию generics на уровне классов. Иерархию классов можно найти во вложенном файле. Вообщем раньше generics использовались на уровне методов и народ как то боролся за простоту и понятность кода. Было: Код: java 1. Стало: Код: java 1. Было: Код: java 1. Стало: Код: java 1. Было: Код: java 1. Стало: Код: java 1. Было: Код: java 1. Стало: Код: java 1. Было: Код: java 1. Стало: Код: java 1. Было: Код: java 1. Стало: Код: java 1. Основная аргументация таких изменений - типа раньше многое было дозволенно а теперь нам компилятор помогает не получить контакты вместо ресурсов. Для меня это звучит как паранойя. Да и сам рефакторинг не упростил а усложнил существующий код. Человек который этим занимался сказал что такой стиль называется type propagation (когда при объявлении класса потомка, классу родителю в дженерик тип передается тип класс потомка). Кто-нибудь что-нибудь знает про данный подход, и насколько он актуален ? Так же я нахожу неудачным тот факт что теперь использование всех абстрактных классов в коде должно сопровождаться wildcard'ом типа Resource<?> resource = ... . Поделитесь вашим мнением по поводу увиденного и подкрепите ваши доводы, best practic'ами, подходами итд. Заранее вам благодарен . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2012, 13:24:18 |
|
||
|
Generics на уровне классов и возможны ли излишества
|
|||
|---|---|---|---|
|
#18+
Sternкогда при объявлении класса потомка, классу родителю в дженерик тип передается тип класс потомка когда при объявлении класса родителя, в дженерик тип передается тип класса потомка а делегирование активно используется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2012, 13:42:59 |
|
||
|
Generics на уровне классов и возможны ли излишества
|
|||
|---|---|---|---|
|
#18+
Miha_S7, Есть класс мною созданный JPADelegate в перспективе что народ будет успешно это дело развивать и писать делегаты выше, но народ плюнул на это дело. Если развивать вашу идею то вы предлогаете что бы каждый класс модели имел свой собственный делегат заточенный именно под его тип ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2012, 13:46:50 |
|
||
|
Generics на уровне классов и возможны ли излишества
|
|||
|---|---|---|---|
|
#18+
Stern, ну да, примерно так. Но, имхо, это имеет смысл только если нужно использовать какие-то методами делегата, которые не входят в список методов делегирующего класса. Я с такой методологией не сталкивался. Просто данное применение - первое, что пришло в голову, больше навскидку идей нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2012, 13:51:32 |
|
||
|
Generics на уровне классов и возможны ли излишества
|
|||
|---|---|---|---|
|
#18+
Хотя вот тут подобная техника используется для построения иерархии Ctrl+F, "Declare the child list as a List<N> and add the this object in the subclass constructor" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2012, 16:08:37 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37634948&tid=2132713]: |
0ms |
get settings: |
16ms |
get forum list: |
29ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
63ms |
get topic data: |
23ms |
get forum data: |
6ms |
get page messages: |
84ms |
get tp. blocked users: |
3ms |
| others: | 366ms |
| total: | 604ms |

| 0 / 0 |
