Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

01.11.2009, 14:32
|
|
Участник форума
Регистрация: 26.02.2006
Сообщений: 209
Провел на форуме: 2418438
Репутация:
93
|
|
ООП help
Проблема такая, начали изучать java (ну и ООП, по совместительству) и одно из первых заданий расписать классы своей объектной области, без реализации. ООП препод не объясняет, ударившись в синтаксис языка, а расписать классы и выделить сущности надо  , и желательно сделать грамотно, т.к. на них в дальнейшем будет сделан вебпроект (типа курсач, со всеми технологиями джавы). Вот, поэтому обращаюсь к Вам. Помогите словами хотя бы, как вы видите объектную реализацию (какие классы необходимо создать, какой от какого унаследывать)?
Область:
Система Конструкторское бюро. Заказчик представляет Техническое Задание (ТЗ), в котором перечислен перечень Работ с указанием квалификации и количества требуемых специалистов. Администратор рассматривает ТЗ и оформляет Проект, назначая на него незанятых Работников требуемой квалификации, после чего рассчитывается стоимость Проекта и Заказчику выставляется Счет из расчета заработной платы назначенных специалистов. Администратор должен иметь возможность просмотреть список неоплаченных Счетов.
|
|
|

01.11.2009, 21:28
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
самый простой вариант - выпиши существительные из этого описания. это - претенденты на звание классов. дальше продумай кто отвечает за создание объектов классов. Например Администратор оформляет проект, значит он создает объекты этого класса. Это очень важный шаг. И готовых решений тут нету, ибо вариантов много. Но советую глянуть книгу Лармана "Применение UML 2.0 и шаблонов проектирования". Там как раз есть шаблоны, описывающие, как разделить ответственности создания и управления классами, что такое высокое зацепление, низкая связанность, как они влияют на проект. Если прочитаешь это(а это не так много страниц), то как минимум сделаешь достаточно грамотную архитектуру.
|
|
|

02.11.2009, 11:49
|
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме: 2050916
Репутация:
0
|
|
Сообщение от ToniKapuchon
Проблема такая...
Хе-хе, так это одна из самых сложных задач. Этими задачами занимаются отдельные люди - архитекторы, постановщики задачи и т.п. Собственно это не задача рядового программиста, и в курсе ООП обычно эта тема не освещается.
Касаемо собственно проблемы - почитай класика - Буча (вот тапример здесь http://www.helloworld.ru/texts/comp/other/oop/ch02.htm). Если более глубоко копать не нужно, этого хватит. А если копать более глубоко, то подход Буча многими критикуется, и вообще говоря, по Бучу реальные программы обычно не пишутся, но как для теории - сойдет.
Последний раз редактировалось Algol; 02.11.2009 в 11:53..
|
|
|

02.11.2009, 12:18
|
|
Banned
Регистрация: 29.10.2009
Сообщений: 10
Провел на форуме: 49015
Репутация:
6
|
|
почитай С. Макконнелла "Совершенный Код", там достаточно много про это написано.
Чтобы выполнить твою задачу нужно выделить объекты, которые взаимодействуют в твоей задаче, понять, какие у этих объектов есть свойста, какие свойства должны быть "открыты" для других(создать интерфейс), понять их взаимодействия(каждый объект может содержать другие объекты и т.д.). После этого ты можешь создавать уже иерархию классов.
Сообщение от Algol
Хе-хе, так это одна из самых сложных задач. Этими задачами занимаются отдельные люди - архитекторы, постановщики задачи и т.п. Собственно это не задача рядового программиста, и в курсе ООП обычно эта тема не освещается.
не всегда из самых сложных, но из самых важных - точно.
Последний раз редактировалось cyanoвый; 02.11.2009 в 12:21..
|
|
|
|
 |
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Студентам с лабораторными сюда
|
_Great_ |
С/С++, C#, Delphi, .NET, Asm |
2868 |
16.06.2010 20:23 |
|
Начинаем программировать на C++, C#, ассемблере(win), Qt, Python, Java, AS3.
|
nerezus |
С/С++, C#, Delphi, .NET, Asm |
688 |
10.06.2010 15:08 |
|
C++ и ООП фича для чуть более продвинутых новичков
|
Ra$cal |
С/С++, C#, Delphi, .NET, Asm |
4 |
18.10.2009 01:00 |
|
Самый быстрый фреймворк....
|
MafiaBoy3 |
PHP, PERL, MySQL, JavaScript |
29 |
14.12.2008 11:52 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|