проектирование фреймворка

SergXP

Новичок
Всем привет!
Возникла задача, спроектировать набор классов, в общем разработать архитектуру фреймворка.
Кто-нибудь знает, каким образом проектировались всем известные нам фреймворки: ZF, Yii, Symfony и тп?
Сase-средствами или вручную? Просто в том же ZF большой набор классов, помоему тяжеловато иногда ориентироваться даже в среде разработки.

Начал разбираться с Enterprise Architect.
Посоветуйте пжл, как правильно и разумней поступить в данной ситуации.
Спасибо!

P.S. надеюсь разделом не ошибся)
 

SergXP

Новичок
с ZF работал 2 года, так что проблем нет)
Мне бы просто хотелось наглядно видеть структуру библиотеки. Собрать классы, описать их методы и свойства. И сделать связи что откуда наследуется.
Ну а дальше, уже опираться на диаграммы и разрабатывать в той же NetBeans или PHPStrom.
 

lagoff

Новичок
Возникла задача, спроектировать набор классов, в общем разработать архитектуру фреймворка.
Посоветуйте пжл, как правильно и разумней поступить в данной ситуации
Рецепт дня 1:
1) Взять пять фреймворков. Для каждого из них:
1.1) Найти документацию и прочитать "от корки до корки"
1.2) Попрактиковаться в написании кода в рамках фреймворка. Хотя бы в рамках примеров в документации
1.3) Провести анализ фреймворка: чего не хватает, что сделано хорошо.
2) Провести параллели между фреймворками, найти отличия и сходства
3) Если осталось желание - взять листочек с карандашом и спроектировать свой фреймворк.
4) Повторить предыдущий шаг до полного достижения дзена
5) Пользоваться

Рецепт дня 2:
1) Взять любой из известных фреймворков с хорошей документацией и активным комюнити.
2) Хорошо изучить
3) Пользоваться

Просто в том же ZF большой набор классов
Эт вы еще .NET не видели =)

З.Ы. Неужто вы думаете, что архитектор это тот кто просто умеет юзать специализированный софт?
 

SergXP

Новичок
Спасибо, рецепт №1 очень кстати!)
Принципиально не хочу пользоваться готовыми фреймворками, к тому же это будет дополнительный опыт.
С .NET знаком поверхностно, соглашусь с Вами!
P.S. Спасибо майкрософту за MSDN :)

З.Ы. Неужто вы думаете, что архитектор это тот кто просто умеет юзать специализированный софт?
Нет конечно)) Но все же думаю, они рисовали диаграммы.
 

lagoff

Новичок
Аааа... Так вам некий UML IDE нужен... Не знаю. Ничего идеального, чистого, светлого так для себя и не нашел. Может, конечно, плохо искал, но все что попадалось - либо слишком примитивное что-то, либо слишком раздутое на все случаи жизни.
Так и пользую до сих пор что попало, плююсь и снова берусь за листик с карандашом.
 

Absinthe

жожо
А я проектирую сразу базу, делаю IDEF1X диаграмму.
Если классы не связаны с моделями, то и вовсе не проектирую, а сразу пишу.

В том же ZF классы мало связаны друг с другом и могут быть использованы раздельно, никаких сложностей в "сразу писать, а потом отрефакторить" я не вижу.
 

SergXP

Новичок
Аааа... Так вам некий UML IDE нужен...
ну и это тоже) еще, в большей степени сам процесс, с чего начинать, пользоваться средствами или нет.
Каким образом создается документация и тд. В CASE конечно многое есть, но стоит ли доверять и что по лучше выбрать.
Возможно в nix есть что-то подходящее. Чтобы в дальнейшем было проще дорабатывать, расширять возможности и тд.
Листик с карандашом да, самый лучший вариант)) Но увы полную структуру устанешь рисовать)
А наброски тоже делать приходится этим методом)

А я проектирую сразу базу, делаю IDEF1X диаграмму.
В какой-то программе? я работаю с Postgres, и там с этим посложнее. Или я чего-то не знаю? )) Пользуюсь SQL Manager for PostgreSQL.
Думаю перейти на Enterprise Architect или на Sybase Power Designer.

Иван Redjik Матвеев спасибо!
 

Absinthe

жожо
я работаю с Postgres, и там с этим посложнее
Там с этим отсутствует. Я еще не видел нормального рабочего доделанного постгрес-клиента.
Я имел ввиду dbForge для MySQL. В нем делаю.

Пользуюсь SQL Manager for PostgreSQL
Его же использую для pg. Косяков в нем куча, но меньше, чем в других клиентах.
 

AmdY

Пью пиво
Команда форума
в IDE есть встроенные клиенты для баз данных, нетбинс после этого даже умные подсказки в строках с sql делает.

а про uml не знаю, для меня он так и не стал удобным.

последнее время я разрабатываю фреймворк через тестирование.
1. набрасываю список требований в One Note
2. пишу код с ассертами который должен работать
3. пишу сам код

фреймворк пишу для проверки подходов, поэтому он большую часть времени работает только частями, так что кроме тестов проверить его никак нельзя.
 

Absinthe

жожо
AmdY ну вот перед тобой задача отладить функцию в базе :) Какими инструментами воспользуешься? :)
Я уже не говорю от том, что часть базового функционала в SQL Manager for PostgreSQL не работает(к примеру, не может сдампить базу нормально из-за кучи зависимостей)
 

SergXP

Новичок
нетбинс после этого даже умные подсказки в строках с sql делает.
нетбинс умеет работать с pg? хм, не пробовал, надо попробовать))

2. пишу код с ассертами который должен работать
к сожалению, не совсем понял этот пункт
Вы про функцию assert()?

Absinthe отвечу на вопрос, адресованный не мне, если не против)
я пользуюсь pgadmin, Navicat, SQL Manager.
 

Redjik

Джедай-мастер
Absinthe
возможно занублю совсем, но как можно отладить функцию? 0_о
смотрю в разрезе MySQL, где она хранится в BLOB и ее не вытащить.
 
Сверху