а ту фразу ты из середины обсуждения взял. Прочти плиз целиком это обсуждение относительно того, как именно применяются паттерны, и тебе, надеюсь, будет полностью понятна моя т.з. Если где-то в начале я слишком сжато выразился, то уже успел неоднократно обясниться подробнее.
Здравствуйте, GlebZ, Вы писали:
GZ>Честно говоря я, в этом замечании, и не возражал и никуда не призывал. В большинстве своем у ссылки и у передачи по значению(если это не элементарные типы) разные цели.
Так ведь и я тебе не возражал.
Просто осветил еще один аспект этой темы.
... << RSDN@Home 1.1.4 stable rev. 510>>
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, GlebZ, Вы писали:
AVK>>Польза очень простая — товарищь агитирует за крайне вредную для новичком идею — что паттерны вредны. GZ>Опа. Тут появились новички?
Жалко, что за это фразу отдельную оценку-смайлик поставить нельзя. А лучше сразу три смайлика!
... << RSDN@Home 1.1.4 stable rev. 510>>
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
я все боялся озвучить эту мысль... но я имею более резкое мнение насчет изучения паттернов новичками. Не с них надо учиться проектировать, не с них. Поимев некий опыт самостоятельного нахождения решений, те, кто уже не новички, совсем по другому впитают эти паттерны, так сказать с гораздо большей пользой. Толку от того, что вместо условий задач студентам давать сразу ответы. Надо именно приучать самостоятельно решать задачи. А после приобретения некого опыта — давать наиболее часто встречающиеся случаи, чтобы в реальной практике не изобретать велосипеды, заодно снабдить терминологической базой.
Аналогично в шахматах. Есть куча известных комбинаций и заведомо известны оценки позиций фигур в этих комбинациях (и эти комбинации имеют свои названия). Однако новичкам их не преподают, их именно учать самостоятельно оценивать позиции фигур на доске. А известные комбинации... после достижения определенного уровня неплохо экономят время и помогают в общении с коллегами.
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Да бога ради. Это просто означает, что создание копий запрещено. И не у тебя только. В MFC таких классов полно, начиная с CWnd. Потому как бессмысленно создавать копию. PD>Но если копию создавать разработчик класса не запрещает — он обязан обеспечить конструктор копирования (и операцию присваивания)
Так и в .NET таже фигня... если разработчик хочет чтобы класс копировался он должен реализовать IClonable.
Разница лиш в том что в С++ по умолчанию объекты копируемые, а в .NET не копируемые.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, WolfHound, Вы писали:
WH>Так и в .NET таже фигня... если разработчик хочет чтобы класс копировался он должен реализовать IClonable. WH>Разница лиш в том что в С++ по умолчанию объекты копируемые, а в .NET не копируемые.
GZ>Никак. Может быть это самим классом не поддерживается не просто так. Как стандартные варианты обхода — через сериализацию, или вручную через интероп. В принципе можно сделать и через маршалинг.
Все ясно. Спасибо.
PD>>В С++ такое в принципе невозможно. Есть AnotherClass — должен быть у него конструктор копирования. Как он устроен — меня не интересует, а работать будет. GZ>А если конструктора нет?
Не быть его не может (будет дефолтный). А вот закрыть его можно (сделать private)
Здравствуйте, vdimas, Вы писали:
V>Здравствуйте, GlebZ, Вы писали:
V>я все боялся озвучить эту мысль... но я имею более резкое мнение насчет изучения паттернов новичками. Не с них надо учиться проектировать, не с них. Поимев некий опыт самостоятельного нахождения решений, те, кто уже не новички, совсем по другому впитают эти паттерны, так сказать с гораздо большей пользой. Толку от того, что вместо условий задач студентам давать сразу ответы. Надо именно приучать самостоятельно решать задачи.
Самое интересное, что упомянутые мной Low coupling/High Cohesion — являются как оценочными критериями(как справдливо заметил AndrewVK) так и фундаментальными паттернами. Вообще я бы начинал обучения проектированию в ООП, с изучения метрик сложности объектно-ориентированного дизайна коих до фига, типа Чидамбера и Кремера, Лоренца-Кидда, или Фернандо Абреу(MOOD). Может применять это и не станут, но это даст не только основу для оценки, но и понимание основ объектной технологии.
Здравствуйте, vdimas, Вы писали:
AVK>>Я что то совсем перестал понимать твой русский язык. Как может оценочный критерий быть практикой?
V>Было сказано "относится к разряду практик".
Еще менее понятно.
V> Или же он имеет под собой теоретическое обоснование?
Здравствуйте, IT, Вы писали:
IT>Наиболее частая ошибка которую я вижу и в своей практике и иногда здесь на форумах — это перевод средсв достижения целей в разряд самих целей. Т.е. большинство проблем начинает возникать когда ООП дизайн или паттерны становятся целями, а не средствами их достижения.
А можно реальный пример на форумах? Сдается мне что вы боретесь с ветряными мельницами.
Здравствуйте, TK, Вы писали:
TK>Интересно, а какой смысл вести дискуссию цель которой доказать, что твой собеседник чего-то там не знает? Какая в этом польза для сообщества?
Хороший вопрос. Надо бы чтобы ты сам на него и ответил. Ведь достаточно посмотреть на статистику твоих сообщений на форуме, чтобы понять, что ты сюда заходишь именно с этой целью.
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, vdimas, Вы писали:
VD>>Это за увертывание от прямого ответа и попытку переиначить свои же слова.
V>Ненавижу это занятие — приводить отрывки недавних постов, с целью "разбора полетов", но вынуждаешь:
V>
VD>>Нет, дело как раз не очень понятное. Кроме знаний о тонкостях реализации нужно еще иметь знания по грамотному дизайну приложений и желание этот самый грамтоный дизайн культивировать.
V>Может я не правильно истолковал выделеное?
А может ты вообще сообщением ошибся? Ты вообще-то с АВК дискутировал.
В общем, разговор с тобой постоянно превращается в театр абсурда. Мне это надоело. Или отвечай на вопросы котоыре тебе задаются без подмены тем и подмены собственных суждени, или можно вообще не начинать обсуждения.
Итак. Попробую еще раз вернусться к обсуждению твоей фразы вызвавшей несогласие АВК (и мое): знание паттернов [b]ничуть не помогает в разработке архитектуры[/b]
Хочу получить кратки и прямой ответ. Признашь ли ты эти слова ошибочными, или подверждаешь их правоту.
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, jhfrek, Вы писали:
J>Супер рассказ. Я столкнулся с подобным в своем старом коде, когда пришла пора его оптимизировать. Самое обидное — это то, что "оптимизируя" его при написании я "наоптимизировал" совсем не то, а главное создал совершенно немодифицируемый код. Пришлось переписывать по-человечески, и, разумеется, те микрооптимизации оказались ненужными ибо макрооптимизация с лихвой перекрыла прошлый выигрышь от них.
Вот именно! Очень жаль, что без прямого тыканья носом многие так и не поняли о чем этот рассказ.
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, vdimas, Вы писали:
V>в ветке насчет паттернов вынужден был убить на это прилично времени. Виновато конечно стремление выдавать свои мысли как можно более сжато, надеясь на адекватное восприятие коллегами.
В ветке про паттерны ты бросил явно неостоножное высказывание и вместо того чтобы просто признать ее ошибочность и согласиться с АВК начал изворачиваться. Заметь с IT никто не спорит. Так что если ты с ним согласен, то должен понять, что никто не говорит "чтобы проектировать хорошие программы достаточно знать паттерны". Но обратное высказывание (твое, о котором идет речь) так же абсурдно.
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, GlebZ, Вы писали: GZ>>Опа. Тут появились новички? AVK>Их тут полно. Просто писать они стесняются.
Наверно. Тут и есть и профессионалы которые только читают да только минусы ставят(не буду показывать пальцем)
[лишнее скипнуто] AVK>А разве я такое говорил?
Это я сказал. AVK>И такого я тоже не говорил.
Это я сказал. GZ>>Я вообще не понимаю, каким образом архитектора можно сделать архитектором по книгам AVK>И такого тоже.
Это я сказал. AVK>Не помогут.
И ты согласен. AVK>Так о чем собственно спор то?
Вот это-то и есть загадка на данном этапе современного общества.
GZ>>ЗЫ судя по всему, позиция вдимаса не отрицала паттерны как таковые и чем-то похожа на мою. AVK>Знаешь, лично я воспринял это иначе. Сначала он обозвал паттерны чуть ли не мировым злом, а потом пытался доказатьчто он совсем не то имел ввиду.
Нет. Ты по моему несколько некорректно прочитал его сообщение. Он высказал мнение о практике применении паттернов а не об их общей полезности(в чем существует множество аспектов). Правда он сделал несколько сумбурно ограничившись только паттернами дизайна.
С уважением, Gleb.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: Готовность системы к её последующим изменениям
Здравствуйте, AndrewVK, Вы писали:
AVK>А можно реальный пример на форумах? Сдается мне что вы боретесь с ветряными мельницами.
Такой пример найти легко. Просто нужно сделать поиск по слову Фаулер в Архитектуре. Фаулер башку многим сносит, а разум и стремление к простоте отключает.
Здравствуйте, GlebZ, Вы писали:
AVK>>Их тут полно. Просто писать они стесняются. GZ>Наверно. Тут и есть и профессионалы которые только читают да только минусы ставят(не буду показывать пальцем) GZ>[лишнее скипнуто]
А если они только читают, то почему ты решил что они профессионалы?
AVK>>Не помогут. GZ>И ты согласен.
Конечно. Серебрянной пули не существует.
AVK>>Знаешь, лично я воспринял это иначе. Сначала он обозвал паттерны чуть ли не мировым злом, а потом пытался доказатьчто он совсем не то имел ввиду. GZ>Нет. Ты по моему несколько некорректно прочитал его сообщение. Он высказал мнение о практике применении паттернов а не об их общей полезности(в чем существует множество аспектов). Правда он сделал несколько сумбурно ограничившись только паттернами дизайна.
Не знаю. Я не представляю как нужно извратить логику, чтобы трактовать его собственные фразы так как предлагается. Имхо это просто нежелание признаться в неправоте даже в мелочах.
Здравствуйте, AndrewVK, Вы писали:
AVK>Не знаю. Я не представляю как нужно извратить логику, чтобы трактовать его собственные фразы так как предлагается. Имхо это просто нежелание признаться в неправоте даже в мелочах.
Maybe.