![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| HappyLife |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 17.5.2006 Репутация: 3 Всего: 8 |
Здравствуйте уважаемые форумчане. C++ воистину сильный язык разработки приложений. Он гибкий и устойчивый. Он максимизирует границы возможного. И трудность в разработке приложения чаще заключается не в его написании, а к проектированию. Боюсь, для меня это проблема. Каждый раз как я беру листок бумаги, у меня возникает сложность в структурировании данных, в путающихся листочках, в методах записи. В итоге моя структура превращается не что-то структурированное, а в настоящую паутину, в которой я запутываюсь. Так что же говорить о самом написании программы!!! Какие есть система, метод, способ проектирование приложения? Я продолжаю делать самостоятельный поиск этой информации в интернете, однако параллельно буду ждать ответов и здесь, от Вас уважаемые Гуру. Спасибо за понимание.
|
|||
|
||||
| Gunslinger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: 1 Всего: 3 |
Такая же проблема. Пытаюсь прописать все возможные методы для класса, но предугадать и правильно разграничить не получается с первого раза. В тоге - итерационная разработка. Проблему решил, работаешь дальше - бац - появилась новая проблема, которая не стыкуется с предыдущим решением - приходится перепроектировать.
зы. мне кажется, дело не в незнании UML. Это сообщение отредактировал(а) Gunslinger - 30.10.2008, 11:57 |
|||
|
||||
| Alek86 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
это написано во всех книжках по проектированию - точно угадать, как нужно будет поменять прогу, не получится. потому нужно стараться проектировать не только текущую задачу, а и оставлять немного на будущее.
с опытом приходит "интуиция", следуя которой можно уменьшить потребность в перепроектировании в общем для начала я бы просто советовал не писать больших функций, монолитных классов, общирных интерфейсов и т.п., чтобы перепроектирование было как можно более безболезненным Это сообщение отредактировал(а) Alek86 - 30.10.2008, 12:16 |
|||
|
||||
| HappyLife |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 17.5.2006 Репутация: 3 Всего: 8 |
Где можно почитать, насчет того как правильно составить архитектуру программы?
|
|||
|
||||
| Alek86 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
Макконелл "Совершенный код"
и что значит "правильно"? единого решения не существует Это сообщение отредактировал(а) Alek86 - 30.10.2008, 12:27 |
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 41 Всего: 154 |
Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес. (GOF) Приемы обьектно - ориентированного проектирования Паттерны Проектирования.
обзор паттернов проектирования |
|||
|
||||
| HappyLife |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 17.5.2006 Репутация: 3 Всего: 8 |
||||
|
||||
| HappyLife |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 17.5.2006 Репутация: 3 Всего: 8 |
Посоветуй пожалуйста неплохое приложение для создание архитектуры приложения. Сейчас я использую Microsoft Visio.
|
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 41 Всего: 154 |
текстовый редактор.
я серьезно |
|||
|
||||
| Alek86 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
лично мне удобнее бумажка и ручка
а уже ПОТОМ, когда научишься боле-мене архитектурить (я вот еще не научился), можно использовать Rational Rose или Enterprice Architecht ну, или если надо с удаленными коллегами обмениваться Это сообщение отредактировал(а) Alek86 - 30.10.2008, 14:41 |
|||
|
||||
| HappyLife |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 17.5.2006 Репутация: 3 Всего: 8 |
Да, но у этого способ есть существенные недостатки. Бумага ограничена в объеме. Между блоками, невозможно вставить третий, без перечертежки, или усердной работы ластиком. И вообще порой происходит невозможность модифицирования, без полного перерисования. У меня нет четкого план-схемы по созданию Архитектуры. Я не придумал способы разграничения, участков кода и форм, базу данных и что-нибудь еще, когда нужно написать просто список свойств, а когда нужно каждое свойство заносить в отдельный блок. Я еще не придумал полноценной собственной системы проектирования. (Ведь нужно же на что-то опираться: методы, условные обозначения, порядок действий, на каком этапе проектировать GUI). Поэтому, скорее всего, на компьютере оно экономичнее. Друзья, может быть вы поделитесь вашими методами проектирования? |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
проектирование, так же как и программирование, и вообще любая инженерная деятельность (а может и вообще любая) имеет общие принципы.
среди них один из важнейших - разделяй и влавствуй. он означает разделение задачи на подзадачи, что уменьшает число сущностей, рассматриваемых одновременно. на этом пути широко используется абстракция - выделение главного, обобщение, отбрасывание несущественного. как методологию удобно использовать объектно-ориентированный подход, как хорошо зарекомендовавший себя для проектирования крупных задач. к тому же результаты объектго-ориентированного анализа и проектирования легко отображаются на объектно-ориентированный язык, например С++ Я бы рекомендовал г.буч сотоварищи "объектно-ориентированный анализ и проектирование" как достаточно свежий фундаментальный труд на эту тему. отмечу, что такие вещи, как специализированный софт, языки типа uml, бумажка с ручкой - всего лишь инструменты. идеи, они в голове |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
проектированию научится нельзя
это как талант, либо он есть, либо его нет иначе все были бы архитекторами и некому было бы писАть код все имхо -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| HappyLife |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 17.5.2006 Репутация: 3 Всего: 8 |
И раскладывать все листочки на полу, оградить комнату ленточками, на двери повесить табличку идет проектирование, и лишь когда будешь заложен последний листик с надписью exit(0) все сфотографировать и снять опечатку комнаты) Тем неменее ваша мысль ясно правильно. Однако, когда приходится на этом самом листочке снова делить блок, то... нехватает места, и.... нужно брать новый листик) Просто порой сразу не угадаешь, уместишь или нет.))) |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |