Форум программистов, компьютерный форум, киберфорум
ООП и паттерны
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 1
Регистрация: 08.05.2014
Сообщений: 9
1

какие объекты должны быть в моей программе?

24.05.2014, 12:48. Просмотров 1137. Ответов 1
Метки нет (Все метки)


Здравствуйте!

Хочу написать программу. Точнее пишу, или даже уже написал =). Не могу понять как я могу использовать ООП.

Суть в следующем, есть прога на телефоне, записывает все разговоры и складывает в папочку файлы с названиями по четкому шаблону, в котором есть дата и номер(имя) абонента. Хочу чтобы прога мне показывала статистику по каждому абоненту.

номер абонента:
-количество входящих, исходящих, средняя продолжительность, список разговоров по дате

Пишу на C# windows forms, знаю как взять все эти файлы, итерировать, получить дату, имя абонента, продолжительность... все мои задачи решаемы.

НО... где мне тут можно применить ООП, объясните новичку на живом примере, пожалуйста? Что можно назвать объектом? Разговор? Абонента? И главное как учесть возможность расширения функционала? Например, сейчас я хочу статистику по абонентам, но потом захочу статистику от обратного - от даты. На данный момент с начала года я выгрузил 1500 файлов с разговорами, если разговор это объект, то мне надо создать 1500 объектов? это нормально? Ну, или объект это абонент, тогда объектов меньше, но все равно - сотни. Не знаю как правильно тут применить ООП, подскажите. (это моя первая прога на c# я ее сам себе придумал для обучения)

Спасибо!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.05.2014, 12:48
Ответы с готовыми решениями:

Следует дать конкретную постановку, т.е. указать, какие классы должны быть реализованы, какие должны быть в ни
Задание: Перечень классов: квитанция, накладная, документ, чек; Порядок выполнения работы...

Какие температуры должны быть и как настроить оптимальную для моей системы частоту вращения куллера на видеокарте?
Недавно, точнее сегодня у меня появился новый комп. Я играю около 10-15 минут в батлу 3 или в блек...

Магазин видеоигр. Что нужно для функционирования магазина. Какие таблицы должны быть, какие запросы и какие отчеты
Я очень сильно запутался и я не могу себе представить, что нужно для функционирования магазина....

Для абстрактного класса определить какие методы должны быть абстрактными, а какие обычными.
1. Полную структуру классов и их взаимосвязь продумать самостоятельно. 2. Для абстрактного класса...

1
Эксперт С++
2919 / 1268 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
26.05.2014, 13:25 2
Лучший ответ Сообщение было отмечено SatanIsLove как решение

Решение

По крайней мере уже сейчас явно просматриваются такие объекты:

1. абонент - объект класса, скажем, Caller. Имеет свои неотъемлемые свойства - например, имя, фамилию, телефонный номер... остальное добавить по вкусу. Является пассивной сущностью в программе - т.е. существует и предоставляет доступ к своим свойствам, но сам никакой активности не проявляет.
2. телефонный разговор - скажем, объект класса Call. Содержит в себе ссылки на двух абонентов (а их может быть больше? например, для режима телеконференций... тогда - список абонентов), длительность разговора... что-то еще? Решай сам. Тоже является пассивной сущностью в программе.
3. Ну, соответственно, в программе должны существовать как отдельные объекты (экземпляры) Список абонентов и Список разговоров.
4. А вот теперь самое интересное! Должен существовать некий объект Бизнес-Логики твоего приложения, скажем, класса Logic. Он-то и является активной сущностью - выполняет всю грязную работу, запрашивает у других объектов какие-нибудь данные и обрабатывает их нужным образом.
5. Для запроса у объектов Абонентов и Разговоров нужных данных рекомендую обратить внимание на паттерн проектирования Посетитель (Visitor) - гугл в помощь.
6. Ну и если программа будет оконной, а не консольной - нужны какие-то объекты для GUI интерфейса. Эта часть должна быть совершенно автономной. и общаться только и исключительно с Бизнес-Логикой: ей отдавать команды (запросы) и от нее же получать данные для отображения пользователю.

Ну вот как-то так, если навскидку.... Схема может уточняться в процессе разработки.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.05.2014, 13:25

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

я учусь на высшке на программиста.. какие могут быть задачи на экзамене 1й курс .2й семестр!!.. должны быть классы!!
я учусь на высшке на программиста.. какие могут быть задачи на экзамене 1й курс .2й семестр!!.....

Какие должны быть настройки
Всем привет! Не трогал VBA лет 15, а может 20... Теперь вот опять понадобилось. Sub FP() ' FP...

Перепрошивка, какие файлы должны быть?
Скачал я прошивку и бекап для Android. Файлы "Backup_for_CWMR_A300T.rar" и...

Какие должны быть характеристики у монитора
Всем привет, к выбору монитора думаю мне стоит отнестись очень серъезно - за компом я провожу...

Какие исходные файлы должны быть в проекте на С#?
Добрый день, мой вопрос может показаться странным, однако: какие исходные файлы должны быть если...

Какие должны быть ограничения в данной задаче
не могу понять какие должны быть ограничения в данной задаче


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.