В настоящее время я работаю над небольшим проектом на C ++. Я довольно новичок в C ++ / Programming и хотел спросить, как должны быть разработаны мои классы.
Чтобы быть конкретным: я хочу написать небольшую программу для общения. Просто простая связь между двумя программами / компьютерами. Для этого я хочу использовать хороший дизайн класса, потому что, хотя это всего лишь небольшой проект (просто для обучения), я хочу, чтобы он был хорошо разработан и расширяем.
Моя программа должна иметь около 5 классов (Handlers
и т. д. Updater
а также App
— основной класс только для этой программы).
Я дам вам несколько примеров идей, которые у меня есть, как я мог бы разработать одну часть программы. Первая часть должна быть частью соединения (обрабатывается Connection
). Задача состоит в том, чтобы установить связь между двумя программами. Он также настроит локальные файлы, в которых будет храниться информация для печати, и подключит ее к файлу «сервера». Позже в программе должен быть доступ к File_Handler
класс, чтобы он мог редактировать / читать локальный файл и читать / запросить запись в файл ‘server’. (Как именно он это сделает, уже выяснилось, так что пока в этом нет необходимости, я бы хотел сохранить эту систему такой, какая она есть;)). Но теперь давайте перейдем к идеям, которые у меня есть:
App
создает экземпляр Connection
установить соединение.
Connection
затем создает экземпляр File_Handler
который настроит файлы (в этом случае File_Hanlder
будет содержать пути со статическими переменными), а затем уничтожит этот экземпляр, потому что он больше не нужен Connection
,
Другой класс (экземпляр проводится App
) затем создает собственный экземпляр File_Hanlder
позже и может работать с файлами, так как переменная для пути является статической.
App
создает экземпляр Connection
а также File_Handler
(давайте называть их con
а также fil
).
Чтобы установить соединение, fil
передается по ссылке на con
установить пути к переменным для файлов, создать файлы и т. д.
Для работы с файлами позже, App
будет проходить вокруг fil
управлять всей обработкой файлов для других классов, например, обновлять чат и т. д.
Для этого потребуется много классов, чтобы иметь конструктор или (а) функцию (и), которая должна иметь File_Handler
Параметр и одна и та же переменная будут передаваться много раз.
Последняя идея, которую я имею в том, что Connection
, File_Handler
и другие classes
будет создан очень общий без какого-либо или почти нулевого отношения к другим классам.
App
затем создает множество функций (или даже «подклассов») для работы с этими классами, почти как работа с Frameworks, которые были разработаны независимо и, таким образом, теоретически могут без проблем использоваться в другой программе.
Какое решение вы считаете лучшим? Или у вас есть другое решение для меня, которое было бы еще лучше?
Пожалуйста, дайте мне знать, я буду признателен за вашу помощь
Задача ещё не решена.