|
Design Patterns - Strategy
|
|||
---|---|---|---|
#18+
День добрый, Начал читать / смотреть видео по паттернам и ни где не могу найти ответ на свой вопрос. Часто встречается пример с утками. Вопрос как вывести список определенных уток в дата грид в зависимости от того, что что выбрано в неспадающем списке? Куда впендюрить :) метод GetDucks ... нужен какой то дополнительный класс типа RepositoryDuck? Пример с утками Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2016, 16:35 |
|
Design Patterns - Strategy
|
|||
---|---|---|---|
#18+
Артем G, а при чём тут шаблон Стратегия? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2016, 19:12 |
|
Design Patterns - Strategy
|
|||
---|---|---|---|
#18+
skyANAАртем G, а при чём тут шаблон Стратегия? хм, ну утки разные с разной реализацией ... значит рекомендуется инкапсулировать эту реализацию, поведение. А теперь я создал 100 уток - разных видов. Как организовать список этих уток? Как организовать запрос на выборку определенного типа из списка? Есть какой то для этого специальный шаблон? ----------------------- PS Нашел шаблон Iterator. Его нужно использовать в данном случае? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2016, 20:20 |
|
Design Patterns - Strategy
|
|||
---|---|---|---|
#18+
Артем G, generics Вам должен помочь, если T будет основополагающим типом для всех видов уток. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2016, 20:30 |
|
Design Patterns - Strategy
|
|||
---|---|---|---|
#18+
AxeleronАртем G, generics Вам должен помочь, если T будет основополагающим типом для всех видов уток. спасибо, почитаю. А итераторы это совсем не из этой оперы? посмотрел вот это видео там выводят список меню. А по поводу репозиториев ... через них такое возможно как-то правильно реализовать? [spoiler] видео ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2016, 23:41 |
|
Design Patterns - Strategy
|
|||
---|---|---|---|
#18+
Про generics почитал. Вопрос немного вдругом. Как организовать так чтоб легко было вносить изменения. Есть шаблон проектирования Repository есть Iterator. Очень не хочется городить свой огород. До меня уже все придуманно и 100 раз испытанно. Таким образом ... По моим ощущениям (вероятно непрваильным) шаблон Repository есть часть шаблона Iterator. Это так? или это небо и земля? Что выбрать чтобы затем легко можно было вносить изменения? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2016, 14:25 |
|
Design Patterns - Strategy
|
|||
---|---|---|---|
#18+
Крутил вертел шаблон итератор, понял что нужен для того, когда нужно вывести однородные списки из разных источников моя задача же просто вывести список ... здесь просто шаблон репозиторий. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2016, 21:22 |
|
Design Patterns - Strategy
|
|||
---|---|---|---|
#18+
Артем GКрутил вертел шаблон итератор, понял что нужен для того, когда нужно вывести однородные списки из разных источников моя задача же просто вывести список ... здесь просто шаблон репозиторий. итератор - это для перечисления элементов некого множества (может быть совсем не список) в конструкции наподобие foreach . в C# это уже и так реализовано. репозиторий - это вообще не шаблон, и уж подавно к спискам не имеет отношения ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2016, 22:41 |
|
Design Patterns - Strategy
|
|||
---|---|---|---|
#18+
Артем GВопрос как вывести список определенных уток в дата грид в зависимости от того, что что выбрано в неспадающем списке? вообще тут не надо ни с какими паттернами заморачиваться. берешь и делаешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2016, 22:45 |
|
Design Patterns - Strategy
|
|||
---|---|---|---|
#18+
Иммануил Кантитератор - это для перечисления элементов некого множества (может быть совсем не список) в конструкции наподобие foreach . в C# это уже и так реализовано. Итератор - это паттерн последовательного доступа общими методами без учета нюансов реализации множества - здесь . Описан еще у GoF. В C# он реализован для ряда стандартных интерфейсов, но вполне может понадобиться сделать что-то своё. Иммануил Кантрепозиторий - это вообще не шаблон Да ну? Иммануил Кантвообще тут не надо ни с какими паттернами заморачиваться. берешь и делаешь. Ну да, по этой методологии даже книжки написаны: раз , два , три . Последняя - вообще супер-хит. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2016, 04:26 |
|
Design Patterns - Strategy
|
|||
---|---|---|---|
#18+
Иммануил Кант, Смысл и итератора и репозиториев теперь я понимаю. Выразился не правильно. По итераторам Ваше определение точнее. По поводу репозиториев вы не правы - это шаблон проектирования. По поводу просто делать - это больше к функциональному програмированию. Не подходит потому как нужны будут доработки. Условно каждые пол года что-то меняется, а все приложения писались до этого так, как вы предлагаете i=1 (утрирую). Что делать с ними сейчас не понятно ... расширяемость ноль, переписывать - это не вариант их сотня разной сложности ... люди которые писали за забором уже ... Нужен грамотный подход, но тут время против играет ... книгами, видео, ссылками облажился ... года на 3 хватит при нормальном тайм менеджменте ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2016, 12:03 |
|
Design Patterns - Strategy
|
|||
---|---|---|---|
#18+
Артем GПо поводу репозиториев вы не правы - это шаблон проектирования. это такой же шаблон, как MVC, например. т.е. - архитектурный подход. есть у Вас есть расслоение на датасервисы, репозитории - то ок. если нет - на нет и суда нет. но конкретно к вашей задаче все это не имеет отношения. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2016, 15:49 |
|
Design Patterns - Strategy
|
|||
---|---|---|---|
#18+
Сон Веры Павловны Да ну? ну да. если каждую оболочку для повышения уровня абстракции называть паттерном - им тогда счету не будет. хотя называть, конечно, можно. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2016, 15:51 |
|
Design Patterns - Strategy
|
|||
---|---|---|---|
#18+
Артем GДень добрый, Начал читать / смотреть видео по паттернам и ни где не могу найти ответ на свой вопрос. Часто встречается пример с утками. Вопрос как вывести список определенных уток в дата грид в зависимости от того, что что выбрано в неспадающем списке? Куда впендюрить :) метод GetDucks ... нужен какой то дополнительный класс типа RepositoryDuck? Пример с утками Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72.
Иногда не стоит себе усложнять задачу. Попробуйте метод в Linq OfType<Type> Думаю как раз в вашем случае конкретно подойдет. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2016, 07:04 |
|
Design Patterns - Strategy
|
|||
---|---|---|---|
#18+
Артем G, Тебе пока рановато паттернами заморачиваться. А с опытом их основная ценность сведётся к помощи в общении с другим программистом и в нейминге. Лучше изучи и постоянно думай о solid и подобных аббревиатурах. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2016, 14:01 |
|
Design Patterns - Strategy
|
|||
---|---|---|---|
#18+
Denis.Артем G, Тебе пока рановато паттернами заморачиваться. А с опытом их основная ценность сведётся к помощи в общении с другим программистом и в нейминге.С опытом приходит понимание того, что в языках существуют синонимы, использование которых для именования идентификаторов в программе никто не запрещал, использование которых никак не мешает в общении между программистами. Denis.Лучше изучи и постоянно думай о solid и подобных аббревиатурах.SOLID - банальные следствия из ООП при отсутствии множественного наследования классов плюс глупый совет: "Принцип открытости/закрытости". Ознакомиться стоит, но зачем об этом постоянно думать? зы: Лучше понимать принципы ООП, лежащие в основе шаблонов, чем учить шаблоны как таковые. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2016, 14:59 |
|
Design Patterns - Strategy
|
|||
---|---|---|---|
#18+
Алексей К, Спасибо за советы. Пытаюсь разобраться на собственных примерах. Цели заучить нет. Паттерны помогают значительно улучшить качество кода. Сейчас в одном из доставщихся в наследство приложений пытаюсь починить баг. Функция 5 тыс строк кода. Читаемость нулевая ... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2016, 15:12 |
|
Design Patterns - Strategy
|
|||
---|---|---|---|
#18+
Алексей КС опытом приходит понимание того, что в языках существуют синонимы, использование которых для именования идентификаторов в программе никто не запрещал, использование которых никак не мешает в общении между программистами. не понял мысль Алексей КSOLID - банальные следствия из ООП при отсутствии множественного наследования классов плюс глупый совет: "Принцип открытости/закрытости". Ознакомиться стоит, но зачем об этом постоянно думать? зы: Лучше понимать принципы ООП, лежащие в основе шаблонов, чем учить шаблоны как таковые. опп банальное следствие попыток не думать о всем сразу и упрощать. Какая разница чего это следствие? Не понял мысль. "принципы ООП, лежащие в основе шаблонов" - это по сути "solid и подобны аббревиатуры" Нормальный совет. иногда и пузырьковая сортировка уместна. Все можно оспорить и поставить под сомнение. Только это никчему в данном топике Постоянно думать - потому что я до боли часто встречаю разработчиков которые очень красиво рассказывают, но очень печально реализовывают. думаю это в том числе связно с тем, что когда дело доходит до реализации, они забывают все что знали и делают как им проще. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2016, 18:37 |
|
Design Patterns - Strategy
|
|||
---|---|---|---|
#18+
Denis.Алексей КС опытом приходит понимание того, что в языках существуют синонимы, использование которых для именования идентификаторов в программе никто не запрещал, использование которых никак не мешает в общении между программистами. не понял мысльНу ты предлагаешь именовать идентификаторы в программе строго как в паттернах, с целью упрощения общения между программистами: "А с опытом их основная ценность сведётся к помощи в общении с другим программистом и в нейминге". Denis.Алексей КSOLID - банальные следствия из ООП при отсутствии множественного наследования классов плюс глупый совет: "Принцип открытости/закрытости". Ознакомиться стоит, но зачем об этом постоянно думать? зы: Лучше понимать принципы ООП, лежащие в основе шаблонов, чем учить шаблоны как таковые. опп банальное следствие попыток не думать о всем сразу и упрощать. Какая разница чего это следствие? Не понял мысль. "принципы ООП, лежащие в основе шаблонов" - это по сути "solid и подобны аббревиатуры"Принципы ООП - это инкапсуляция, наследование и полиморфизм. Denis.Постоянно думать - потому что я до боли часто встречаю разработчиков которые очень красиво рассказывают, но очень печально реализовывают. думаю это в том числе связно с тем, что когда дело доходит до реализации, они забывают все что знали и делают как им проще .А ты считаешь, что программист должен делать как ему сложнее? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 05:08 |
|
Design Patterns - Strategy
|
|||
---|---|---|---|
#18+
Алексей К, "ты предлагаешь именовать идентификаторы в программе строго как в паттернах" этого я нигде не писал и не имел ввиду. "Принципы ООП - это инкапсуляция, наследование и полиморфизм." - это слишком базово. Очевидно ТС в курсе об этих понятиях, теперь он учится их правильно применять. "А ты считаешь, что программист должен делать как ему сложнее? " - я считаю что зависит от ситуации, но в более менее серьёзных продуктах часто приходится делать как сложнее сначала, чтоб было как проще потом. Вообще наш диалог превращается в словоблудие, ты же и сам прекрасно понимаешь что я имел ввиду. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2016, 19:20 |
|
Design Patterns - Strategy
|
|||
---|---|---|---|
#18+
Denis.Алексей К, "ты предлагаешь именовать идентификаторы в программе строго как в паттернах" этого я нигде не писал и не имел ввиду. "... их основная ценность сведётся к помощи в общении с другим программистом и в нейминге" - а что это ещё может означать? Denis."Принципы ООП - это инкапсуляция, наследование и полиморфизм." - это слишком базово. Очевидно ТС в курсе об этих понятиях, теперь он учится их правильно применять.И паттерны в этом очень помогут. Но когда ты уже всему научился, при написании своей программы нужно мыслить на уровне принципов ООП, а не на уровне комбинаторики паттернов. Denis."А ты считаешь, что программист должен делать как ему сложнее? " - я считаю что зависит от ситуации, но в более менее серьёзных продуктах часто приходится делать как сложнее сначала, чтоб было как проще потом.В более менее сложных проектах требования к коду должны быть строго описаны в стандартах, принятых для данного проекта. Программист всегда делает как ему проще, но в рамках этих стандартов. Критерием качества кода должно являться соответствие кода этим стандартам, а не субъективная оценка текущего технического руководителя, оценивающего исходя из своих личных предпочтений. Denis.Вообще наш диалог превращается в словоблудие, ты же и сам прекрасно понимаешь что я имел ввиду.Ну ты призвал вести разработку строго согласно паттернов, без права на творчество. Но спорить, конечно же, смысла нет - все имеют право на собственное мнение. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2016, 05:30 |
|
Design Patterns - Strategy
|
|||
---|---|---|---|
#18+
Denis.Вообще наш диалог превращается в словоблудие.+100500 заканчивайте ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2016, 07:46 |
|
Design Patterns - Strategy
|
|||
---|---|---|---|
#18+
skyANADenis.Вообще наш диалог превращается в словоблудие.+100500 заканчивайтеТебе-то какое дело? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2016, 09:48 |
|
Design Patterns - Strategy
|
|||
---|---|---|---|
#18+
Алексей К, Смысла отвечать не вижу. Все искажено, неверно и надумано. Алексей К Ну ты призвал вести разработку строго согласно паттернов, без права на творчество а это - слишком толсто ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2016, 14:35 |
|
|
start [/forum/topic.php?fid=20&msg=39175315&tid=1400786]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
1ms |
others: | 293ms |
total: | 454ms |
0 / 0 |