Обсуждение шаблонов (patterns) проектирования, отделено от темы "Литература по патернам проектирования" |
Здравствуйте, гость ( Вход | Регистрация )
Обсуждение шаблонов (patterns) проектирования, отделено от темы "Литература по патернам проектирования" |
LE0N |
3.4.2009, 20:42
Сообщение
#1
|
Студент Группа: Участник Сообщений: 97 Регистрация: 10.3.2009 Из: Беларусь Пользователь №: 604 Спасибо сказали: 0 раз(а) Репутация: 0 |
+1 тоже есть эта книжка.В электронном формате. Но, на мой взгляд, не стоит их использовать. (Архитектура при не правильном использовании станет трудно поддаваемая рефакторингу)
С опытом, к ним придёшь сам. А пока - изобретай велосипеды.... |
|
|
Влад |
3.4.2009, 21:05
Сообщение
#2
|
Участник Группа: Участник Сообщений: 146 Регистрация: 20.3.2009 Из: Санкт-Петербург Пользователь №: 627 Спасибо сказали: 46 раз(а) Репутация: 8 |
Знать, что такое паттерны проектирования, и представлять себе некоторые самые распространенные (не обязательно все!) паттерны и их применение - полезно, поскольку сберегает время при решении типовых задач проектирования.
Но! - не стоит абсолютизировать оные паттерны и приплетать их к месту и не к месту. Иначе, рискуешь ненароком оказаться в роли господина Журдена, который с превеликим удивлением узнал, что вот уже сорок лет говорит прозой |
|
|
trdm |
3.4.2009, 23:14
Сообщение
#3
|
Дмитрий Трошин Группа: Участник Сообщений: 575 Регистрация: 12.1.2008 Пользователь №: 68 Спасибо сказали: 21 раз(а) Репутация: 6 |
+1 тоже есть эта книжка.В электронном формате. Но, на мой взгляд, не стоит их использовать. (Архитектура при не правильном использовании станет трудно поддаваемая рефакторингу) С опытом, к ним придёшь сам. А пока - изобретай велосипеды.... у меня другие ощущения и опыт. после изучения патернов стало легче понимать чужой код, легче принимать решения по архитектуре и что уж совсем приятно и удивительно, стал меньше переписывать собственные "поделки". отсюда вывод: мало их знать, нужно уметь применять... и потом, паттерны - это наш профессиональный сленг. вместо того чтобы битый час объяснять что и зачем легче сослаться на патерн и если собеседник шарит, сразу поймет че к чему. |
|
|
Litkevich Yuriy |
4.4.2009, 6:23
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
после изучения патернов стало легче понимать чужой код полностью солидарен.А насчет того, что Шаблоны (зачем транслит я не понял) проектирования не панацея, дак это с первых страниц книги говорится и еще несколько раз в ней вспоминается в разных главах. Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж.- "Приемы объектно-ориентированного проектирования. Эта книга хороша в первую очередь примерами из жизни, т.е. какой шаблон в какой программе применялся.
|
|
|
LE0N |
5.4.2009, 23:05
Сообщение
#5
|
Студент Группа: Участник Сообщений: 97 Регистрация: 10.3.2009 Из: Беларусь Пользователь №: 604 Спасибо сказали: 0 раз(а) Репутация: 0 |
Цитата у меня другие ощущения и опыт. после изучения патернов стало легче понимать чужой код, легче принимать решения по архитектуре и что уж совсем приятно и удивительно, стал меньше переписывать собственные "поделки". Объём этих "поделок" какой ? В 99% лучше обойтись делегированием чем теми же синглтонами. Гибкость кода становится лучше в разы. По поводу фабрик - так не читая про паттерны можно без проблем к ним придти. Ну а про обзерверы и прочую байду вообще речи быть не должно. Самые первые вещи, которые получаются при определённых заданиях. |
|
|
Litkevich Yuriy |
5.4.2009, 23:28
Сообщение
#6
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
trdm |
6.4.2009, 0:13
Сообщение
#7
|
Дмитрий Трошин Группа: Участник Сообщений: 575 Регистрация: 12.1.2008 Пользователь №: 68 Спасибо сказали: 21 раз(а) Репутация: 6 |
Цитата у меня другие ощущения и опыт. после изучения патернов стало легче понимать чужой код, легче принимать решения по архитектуре и что уж совсем приятно и удивительно, стал меньше переписывать собственные "поделки". Объём этих "поделок" какой ? В 99% лучше обойтись делегированием чем теми же синглтонами. Гибкость кода становится лучше в разы. По поводу фабрик - так не читая про паттерны можно без проблем к ним придти. Ну а про обзерверы и прочую байду вообще речи быть не должно. Самые первые вещи, которые получаются при определённых заданиях. твое фанфаронство уже не развлекает, а раздражает. |
|
|
ViGOur |
6.4.2009, 8:34
Сообщение
#8
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
|
|
|
LE0N |
6.4.2009, 18:05
Сообщение
#9
|
Студент Группа: Участник Сообщений: 97 Регистрация: 10.3.2009 Из: Беларусь Пользователь №: 604 Спасибо сказали: 0 раз(а) Репутация: 0 |
Цитата твое фанфаронство уже не развлекает, а раздражает. Слив засчитан. Цитата Приведи код, который может помочь обойтись в 99% случаев без синглтонов. А зачем? У синглтона есть один огромный недостаток - если захотелось заменить класс, который используется на данный момент, нужно менять либо сам синглтон, либо лезть в класс его использующий и заменять точку входа. (Теряется такая важная вещь в ООП как полиморфмизм) И проектировщик системы не может гарантировать того, что наследование там не нужно на 100%. Ещё я бы посоветывал почитать про "антипаттерны".... Цитата помоему одно с другим как-то не вяжется. Почему это не вяжется? Всё просто - вместо singleton::get_instance(), передавать в тот же конструктор класса, его использующего ссылку на данный объект. Когда я перестал юзать синглтоны, у меня сильно возросла реюзабельность кода. На мой взгляд, синглтон - это стремление к функциональному программированию. ООП здесь даже и не пахнет. Всё, что в нём осталось от ООП - это инкапсуляция. |
|
|
Litkevich Yuriy |
6.4.2009, 18:15
Сообщение
#10
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Почему это не вяжется? однако делегирование и передача ссылки/указателя не одно и тоже.Всё просто - вместо singleton::get_instance(), передавать в тот же конструктор класса, его использующего ссылку на данный объект. Что же касается использования ссылки на объект вместо "Одиночки". Я тоже так пологал, пока не попробовал работать с "Одиночкой". На практике оказалось удобнее использовать "Одиночку" Подобная вещь используется и в Qt - QSqlDatabse - подобен "Именованному Одиночке" |
|
|
Текстовая версия | Сейчас: 14.1.2025, 17:51 |