crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> Обсуждение шаблонов (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  


Цитата(LE0N @ 3.4.2009, 21:42) *
+1 тоже есть эта книжка.В электронном формате. Но, на мой взгляд, не стоит их использовать. (Архитектура при не правильном использовании станет трудно поддаваемая рефакторингу)
С опытом, к ним придёшь сам. А пока - изобретай велосипеды....

у меня другие ощущения и опыт.
после изучения патернов стало легче понимать чужой код, легче принимать решения по архитектуре
и что уж совсем приятно и удивительно, стал меньше переписывать собственные "поделки".
отсюда вывод: мало их знать, нужно уметь применять...
и потом, паттерны - это наш профессиональный сленг. вместо того чтобы битый час объяснять что и
зачем легче сослаться на патерн и если собеседник шарит, сразу поймет че к чему.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 4.4.2009, 6:23
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(trdm @ 4.4.2009, 3:14) *
после изучения патернов стало легче понимать чужой код
полностью солидарен.

А насчет того, что Шаблоны (зачем транслит я не понял) проектирования не панацея, дак это с первых страниц книги говорится и еще несколько раз в ней вспоминается в разных главах.

Цитата(AD @ 3.4.2009, 20:20) *
Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж.- "Приемы объектно-ориентированного проектирования.
Эта книга хороша в первую очередь примерами из жизни, т.е. какой шаблон в какой программе применялся.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
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  


Цитата(LE0N @ 6.4.2009, 3:05) *
лучше обойтись делегированием чем теми же синглтонами
помоему одно с другим как-то не вяжется.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
trdm
  опции профиля:
сообщение 6.4.2009, 0:13
Сообщение #7


Дмитрий Трошин
****

Группа: Участник
Сообщений: 575
Регистрация: 12.1.2008
Пользователь №: 68

Спасибо сказали: 21 раз(а)




Репутация:   6  


Цитата(LE0N @ 6.4.2009, 0:05) *
Цитата
у меня другие ощущения и опыт.
после изучения патернов стало легче понимать чужой код, легче принимать решения по архитектуре
и что уж совсем приятно и удивительно, стал меньше переписывать собственные "поделки".

Объём этих "поделок" какой ?
В 99% лучше обойтись делегированием чем теми же синглтонами. Гибкость кода становится лучше в разы.
По поводу фабрик - так не читая про паттерны можно без проблем к ним придти. Ну а про обзерверы и прочую байду вообще речи быть не должно. Самые первые вещи, которые получаются при определённых заданиях.

твое фанфаронство уже не развлекает, а раздражает.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 6.4.2009, 8:34
Сообщение #8


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Цитата(LE0N @ 6.4.2009, 0:05) *
В 99% лучше обойтись делегированием чем теми же синглтонами.
Приведи код, который может помочь обойтись в 99% случаев без синглтонов. :)

Цитата(trdm @ 6.4.2009, 1:13) *
твое фанфаронство уже не развлекает, а раздражает.
Спокойней нужно быть. ;)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
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  


Цитата(LE0N @ 6.4.2009, 22:05) *
Почему это не вяжется?
Всё просто - вместо singleton::get_instance(), передавать в тот же конструктор класса, его использующего ссылку на данный объект.
однако делегирование и передача ссылки/указателя не одно и тоже.
Что же касается использования ссылки на объект вместо "Одиночки". Я тоже так пологал, пока не попробовал работать с "Одиночкой".
На практике оказалось удобнее использовать "Одиночку"

Подобная вещь используется и в Qt - QSqlDatabse - подобен "Именованному Одиночке"
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V   1 2 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 19.3.2024, 7:47