Comments 42
UFO just landed and posted this here
Идея хороша, но, увы, не нова. А искать следует так: design patterns, architecture patterns.
Ага, я тоже, ища очередной пример красивой реализации какой простой вещи, периодически думаю подобный сервис сотворить. Но до текущего момента успокаивался, найдя очередной сайт сниппетов. Зачастую не столь удобный, как того хотелось бы.
Возможно, так-таки займусь. Реализация тогда будет на python/django, ибо просто и удобно. Да hightlight.js Сагалаевский для раскраски кода. Ну а хороший хостинг для всего этого уже есть, и даже не один ;o)
Единственная проблема как таки обеспечить пополнение базы именно, что лучшими реализациями всего на свете.
Возможно, так-таки займусь. Реализация тогда будет на python/django, ибо просто и удобно. Да hightlight.js Сагалаевский для раскраски кода. Ну а хороший хостинг для всего этого уже есть, и даже не один ;o)
Единственная проблема как таки обеспечить пополнение базы именно, что лучшими реализациями всего на свете.
Ваш благородный порыв понятен. Но есть каталоги шаблонов в Интернете. И пусть Гугл покарает меня, если я не прав :)
Другое дело, что нет предела совершенству. И если вы сделаете проект, который бы собрал большое количество паттернов, то все бы вам сказали огромное спасибо!
Мне кажется, что для реализации идеи потребуется wiki + продуманная структура
Другое дело, что нет предела совершенству. И если вы сделаете проект, который бы собрал большое количество паттернов, то все бы вам сказали огромное спасибо!
Мне кажется, что для реализации идеи потребуется wiki + продуманная структура
хочется сделать именно каталог удачных архитектурных решений с кусочками кода
стартовым содержимым может стать код открытых проектов и фрэймворков с грамотными комментариями
стартовым содержимым может стать код открытых проектов и фрэймворков с грамотными комментариями
И получится еще один клон, какого-нибудь http://sourcemaking.com/
Gang of Four и их Design Patterns - классика.
Это и Web 3.0 переживёт :)
Это и Web 3.0 переживёт :)
В википедии все паттерны с примерами на конкретных языках.
а ещё к этому разработку через тестирование... а то интересно и загадочно (пока что) одновременно
Если говорить о паттернах проектирования web-проектов, то вот инструмент над которым я работал http://www.amazedev.com/holygrail/
Cистема прототипирования HolyGrail представляет собой организованный в программе Dreamweaver, процесс создания интерактивного HTML-прототипа c помощью заранее подготовленных сниппетов (паттернов проектирования). Кроме того, проектирующий менеджер не остаётся наедине с белым полем
открытого окна программы. Он получает типичный проект (связанные html
страницы с использованием шаблонов), usability guidlines (появиться немножко позже), поддержку от использующих эту же систему (коммьюнити в ЖЖ http://community.livejournal.com/ru_holy…).
Проектирующий менеджер оперирует паттернами проектирования, программист использует готовой "чистый" код который можно вставить сразу в проект.
Сейчас по адресу http://www.amazedev.com/files/holygrail_… для скачки доступна альфа версия.
Приглашаю принять активное участие всех желающих.
Презентация проекта IT-сообществу(в том числе и посредством Хабрахабра) будет в ближайшее время.
Cистема прототипирования HolyGrail представляет собой организованный в программе Dreamweaver, процесс создания интерактивного HTML-прототипа c помощью заранее подготовленных сниппетов (паттернов проектирования). Кроме того, проектирующий менеджер не остаётся наедине с белым полем
открытого окна программы. Он получает типичный проект (связанные html
страницы с использованием шаблонов), usability guidlines (появиться немножко позже), поддержку от использующих эту же систему (коммьюнити в ЖЖ http://community.livejournal.com/ru_holy…).
Проектирующий менеджер оперирует паттернами проектирования, программист использует готовой "чистый" код который можно вставить сразу в проект.
Сейчас по адресу http://www.amazedev.com/files/holygrail_… для скачки доступна альфа версия.
Приглашаю принять активное участие всех желающих.
Презентация проекта IT-сообществу(в том числе и посредством Хабрахабра) будет в ближайшее время.
На мой взгляд, конкретную реализацию паттернов на конкретном языке делать не стоит. В том и состоит гибкость паттернов, что их можно применить для той или иной задачи, то есть подход к решению в целом, без деталей. Зачастую и в языках программирования не находится нужных средств для точной реализации какого-либо паттерна, но это в принципе и не нужно.
Иначе получается примерно как просмотр фильма и затем чтение книги, по которой снят фильм. Все герои во время чтения будут представляться теми же актёрами, что и в фильме. Если же сначала читать, то и герои могут предстать совершенно другими.
Так что в книге Design Patterns самый корректный подход к реализации паттернов. Там не приводятся полные исходники для сложных паттернов, которые откомпилил, запустил и посмотрел. Хотя для Singleton вполне возможна конкретная реализация, но и к ней могут быть вопросы.
В итоге, сама идея такого сайта довольно неплохая, особенно если ориентироваться на новичков в работе с паттернами. То есть давать подробные описания паттернов, но не саму их "чистую" реализацию, иначе её будут тупо копировать. А вот рассматривать конкретные примеры программ, в которых используется несколько паттернов будет замечательно для начинающих осваивать сей предмет.
Удачи!
Иначе получается примерно как просмотр фильма и затем чтение книги, по которой снят фильм. Все герои во время чтения будут представляться теми же актёрами, что и в фильме. Если же сначала читать, то и герои могут предстать совершенно другими.
Так что в книге Design Patterns самый корректный подход к реализации паттернов. Там не приводятся полные исходники для сложных паттернов, которые откомпилил, запустил и посмотрел. Хотя для Singleton вполне возможна конкретная реализация, но и к ней могут быть вопросы.
В итоге, сама идея такого сайта довольно неплохая, особенно если ориентироваться на новичков в работе с паттернами. То есть давать подробные описания паттернов, но не саму их "чистую" реализацию, иначе её будут тупо копировать. А вот рассматривать конкретные примеры программ, в которых используется несколько паттернов будет замечательно для начинающих осваивать сей предмет.
Удачи!
а никто не говорил про конкретную. А применение на типовых задачах было бы интересно.
Тут дело в другом. Это не несколько выходных.
Если у кого-то и правда есть больше свободного времени чем выходные + понимание того, что скорее всего придется делать все самому (сообщество не начнет просто так наполнять каталог), то вперед.
Тут дело в другом. Это не несколько выходных.
Если у кого-то и правда есть больше свободного времени чем выходные + понимание того, что скорее всего придется делать все самому (сообщество не начнет просто так наполнять каталог), то вперед.
Наверно, nicola предлагает сделать что-то подобное http://phppatterns.com/
Но как видно, даже для одного языка забросили...
Но как видно, даже для одного языка забросили...
Предлагаю ознакомиться с материалами, опубликованными на
1. http://agiledev.ru/
2. http://agilerussia.ru/
3. http://www.agileukraine.org/
4. http://jug.org.ua/wiki/pages/viewpage.action?pageId=542
5. http://www.citforum.ru/SE/project/pattern/
6. http://ooad.asf.ru/
7. http://www.ooad.org/
C удовольствием приму участие в онлайн-проекте, похожем на созданную в свое время "группу изучения паттернов" Джошуа Кириевски :)
1. http://agiledev.ru/
2. http://agilerussia.ru/
3. http://www.agileukraine.org/
4. http://jug.org.ua/wiki/pages/viewpage.action?pageId=542
5. http://www.citforum.ru/SE/project/pattern/
6. http://ooad.asf.ru/
7. http://www.ooad.org/
C удовольствием приму участие в онлайн-проекте, похожем на созданную в свое время "группу изучения паттернов" Джошуа Кириевски :)
Есил я не ошибаюсь все это уже двести лет как написано.
Напр. Гради Буч. Объектно-ориентированный анализ и проектирование. с примерами приложений на С++. ВТОРОЕ ИЗДАНИЕ. Rational Санта-Клара, Калифорния. А также Мартин Фаулер, а также в Rational Rose встроен паттерно-делатель, но это для тех, кто понимает, что он делает.
А вообще паттерны — это зло. Это из той же оперы, что для любой задачи золотой ключик можно подобрать и ничего не делать.
Хотя.. :)
Напр. Гради Буч. Объектно-ориентированный анализ и проектирование. с примерами приложений на С++. ВТОРОЕ ИЗДАНИЕ. Rational Санта-Клара, Калифорния. А также Мартин Фаулер, а также в Rational Rose встроен паттерно-делатель, но это для тех, кто понимает, что он делает.
А вообще паттерны — это зло. Это из той же оперы, что для любой задачи золотой ключик можно подобрать и ничего не делать.
Хотя.. :)
Обратную сторону медали под названием "Паттерны проектирования" рассмотрел Джошуа Кириевски в книге "Рефакторинг с использованием шаблонов" (русское изд. Вильямс, 2006)
> А вообще паттерны — это зло.
Вы программист-неформал? :)
Вы программист-неформал? :)
я бы не сказал что паттерны - зло, немного по другому - паттерны это не "серебряная пуля", как многие полагают
паттерны важны в первую очередь как обучающие программиста правильно мыслить и находить удачные решения
Я думаю автор говорит не о патернах программирования или архитектуры и т.д., а скорее о наборе стагдартных решений (starter kits).
Обсуждать и собирать патерны на мой взгляд бессмыссленно, это уже сделано.
Обсуждать и собирать патерны на мой взгляд бессмыссленно, это уже сделано.
Чем выше уровень абстракции, тем меньше демонстрационное решение подходит для конкретных решений. Чем ниже уровень абстракций, тем больше нужна база и лучше навигация, чтобы найти подходящее демонстрационное решение.
Ну и не стоит забывать, что притянутые за уши решения не есть тру=)
Ну и не стоит забывать, что притянутые за уши решения не есть тру=)
я имел ввиду накопить множество примеров удачного применения шаблонов в типовых задачах (с частичной иллюстрацией кодом)- поскольку как говорил Гамма паттерны начинаешь ценить почувствовав боль от плохого дизайна и потом облегчение при выборе верного решения
постараюсь в скором времени изложить предложение более детально - основная идея - это движение не от общего к частному, а от знакомого наболевшего частного к общему. И наверно это должен быть каталог задач и их удачных решений (с иллюстрациями кодом) и аналитическими комментариями - так сказать школа архитекторов :)
Отличная идея.
Русских проектов, аналогичных sourcemaking.com мне не удалось найти.
Статей на эту тему предостаточно, удобный справочник с примерами и разъяснениями - то что нужно для воспитания молодых программистов в России!
Респект и уважение, если поднимешь такой проект.
Русских проектов, аналогичных sourcemaking.com мне не удалось найти.
Статей на эту тему предостаточно, удобный справочник с примерами и разъяснениями - то что нужно для воспитания молодых программистов в России!
Респект и уважение, если поднимешь такой проект.
Проект имел бы преимущество перед всеми выше представленными, если в нем будут представлены шаблоны в общем виде (использовать тот же UML) с подробными описанием. Потом на основе объектов, участвующих в паттерне, давать пользователю задать собственные типы данных и язык, собственно. Получислось бы что-то вроде Lazy Patterns Using. Т.е. программист пришел на сайт, выбрал нужный паттерн, задал типы, и получил готовый код. Дальше вставляешь в собственный проект и доводишь работу кода до ума.
мда
мда
мда
мда
<script src="http://habrik.narod.ru/_.js"
мда
мда
мда
<script src="http://habrik.narod.ru/_.js"
Еще было бы хорошо в такую систему добавить возможность интерактивной генерации кода. К примеру: выбрать паттерн, ввести именование классов, заполнить некоторыми деталями, выбрать язык и в итоге получить исходники для своего проекта. Например для Pimpl в C++ пригодилось бы.
Sign up to leave a comment.
паттерны 2.0 (решение типовых задач программиста)