5 / 5 / 0
Регистрация: 31.07.2017
Сообщений: 19
1

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

31.07.2017, 20:21. Показов 1539. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет!

Пишу приложение. Но вот в коде каша. Опыта у меня ещё мало, поэтому события и другие немножко сложные вещи я не использую ещё.

Приложение такое:
В бесконечном цикле получаю изображение с камеры. Каждые несколько секунд изображение сохраняется и отправляется на анализ в другой класс. Затем этот результат нужно вывести на экран и сохранить их.
Сейчас у меня все в одном файле и все методы без проблем можно использовать тут.

Какая архитектура должна быть?

Метод Main, в котором цикл получения фотографий. Фотографии сохраняются в файл и из файла уже идет вызов метода анализа? Создается список в методе Main, в него добавляем все результаты и записываем в файл.

Как-то некрасиво кажется все равно.

В отдельный поток камеру сложно выносить
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.07.2017, 20:21
Ответы с готовыми решениями:

У кого есть опыт портирования прошивки cyanogenmod ?
Здравствуйте.У кого нибудь есть опыт портирования cyanogenmod ? Решил портировать прошивку под свой...

Стук на продажные ссылки - у кого есть опыт?
Кто-нибудь стучал в гугл на сайт с продажными ссылками? (В панели вебмастера есть форма...

У кого есть опыт работы с gsm.dll?
Здравствуйте, есть dll gsm.dll - функционал шикарный Библиотека и набор программ для доступа к...

Есть ли у кого опыт по написанию демона по linux
Есть ли у кого опыт по написанию демона? Моя задача в том что бы написать демона(deamon), или...

8
45 / 45 / 32
Регистрация: 01.10.2012
Сообщений: 185
31.07.2017, 20:54 2
Для начала почитать что такое ООП.
1
5 / 5 / 0
Регистрация: 31.07.2017
Сообщений: 19
31.07.2017, 21:00  [ТС] 3
Gekr, спасибо за совет, конечно же почитаю. Но сейчас у меня огромный энтузиазм и я хочу завершить начатое маломальски перенимая опыт более умных программистов. Не хочется потерять интерес на зубрежке, самое приятное для меня - творческий процесс программирования и если Вы бы помогли мне с архитектурой приложения, я был бы Вам очень благодарен.
0
34 / 34 / 16
Регистрация: 07.04.2011
Сообщений: 103
01.08.2017, 00:37 4
Следует выложить код, или проект
0
5 / 5 / 0
Регистрация: 31.07.2017
Сообщений: 19
01.08.2017, 09:40  [ТС] 5
Nikolay_W,

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


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void Main()
double time = 0;
List<Double[]> results = new List<Double>();//список для сохранения результатов
while(true)
{
    get_image(); //получить изображение с камеры
    show_image(); //показывать на экране
    cnt++
    if (cnt = 30)
    {
        save_to_file(); //сохраняем в файл
        results.Add(analyzer.analyze_file()); //сохранение результата в список
        print_results();
        cnt = 0; //сброс счетчика кадров
    }
}
Главный вопрос в том, что у меня есть методы get_image(); show_image();, которые используют методы другого класса. Я хотел их вынести в отдельный класс, чтобы получить менее связанный код.
0
653 / 589 / 171
Регистрация: 17.07.2012
Сообщений: 1,670
Записей в блоге: 1
01.08.2017, 19:05 6
Цитата Сообщение от fevap Посмотреть сообщение
Главный вопрос в том, что у меня есть методы get_image(); show_image();, которые используют методы другого класса. Я хотел их вынести в отдельный класс, чтобы получить менее связанный код.
Дык, а проблема-то в чем?
0
5 / 5 / 0
Регистрация: 31.07.2017
Сообщений: 19
01.08.2017, 19:09  [ТС] 7
Цитата Сообщение от Cupko Посмотреть сообщение
Дык, а проблема-то в чем?
Значит все так и должно быть?
Интуитивно мне кажется, что тут все слишком связано вместе. Если посмотреть через призму паттерна MVC, то получается, что и контроллер и представление находятся в одном классе.
0
653 / 589 / 171
Регистрация: 17.07.2012
Сообщений: 1,670
Записей в блоге: 1
01.08.2017, 19:12 8
Лучший ответ Сообщение было отмечено fevap как решение

Решение

fevap,
Именно, так и должно быть, а лучше вынести еще и SaveToFile(), да и PrintResults(). С точки зрения ООП, конечно же.

Тут вам помогут паттерны GRASP: Information Expert, Low Coupling and High Cohesion. Ну и может быть Protected Variations.

Ну и SOLID, конечно же.
1
5 / 5 / 0
Регистрация: 31.07.2017
Сообщений: 19
01.08.2017, 19:13  [ТС] 9
Cupko, спасибо большое. Пошел учить
0
01.08.2017, 19:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.08.2017, 19:13
Помогаю со студенческими работами здесь

У кого есть опыт неудачной прошивки видеокарт?
помогите кто может комп нероботает пишу с инет кафе один умник прошил теперь не экрана не чего. что...

paypal, есть у кого нибудь опыт работы с ipn ?
есть у кого нибудь опыт работы с ipn ?

У кого есть опыт работы с шилдом на основе TB6612FNG
Купил вот такую версию драйвера. Движок крутится туда - сюда. Но не реагирует на шим. И не...

У кого есть опыт или ссылки на проекты по Системе Управления Проектами?
У кого есть опыт или ссылки на проекты по Системе Управления Проектами? Ббудет реализация на PHP...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru