Дизайн класса в программе C ++

В настоящее время я работаю над небольшим проектом на C ++. Я довольно новичок в C ++ / Programming и хотел спросить, как должны быть разработаны мои классы.

Чтобы быть конкретным: я хочу написать небольшую программу для общения. Просто простая связь между двумя программами / компьютерами. Для этого я хочу использовать хороший дизайн класса, потому что, хотя это всего лишь небольшой проект (просто для обучения), я хочу, чтобы он был хорошо разработан и расширяем.

Моя программа должна иметь около 5 классов (Handlers и т. д. Updater а также App — основной класс только для этой программы).

Я дам вам несколько примеров идей, которые у меня есть, как я мог бы разработать одну часть программы. Первая часть должна быть частью соединения (обрабатывается Connection). Задача состоит в том, чтобы установить связь между двумя программами. Он также настроит локальные файлы, в которых будет храниться информация для печати, и подключит ее к файлу «сервера». Позже в программе должен быть доступ к File_Handler класс, чтобы он мог редактировать / читать локальный файл и читать / запросить запись в файл ‘server’. (Как именно он это сделает, уже выяснилось, так что пока в этом нет необходимости, я бы хотел сохранить эту систему такой, какая она есть;)). Но теперь давайте перейдем к идеям, которые у меня есть:

Идея 1

App создает экземпляр Connection установить соединение.

Connection затем создает экземпляр File_Handler который настроит файлы (в этом случае File_Hanlder будет содержать пути со статическими переменными), а затем уничтожит этот экземпляр, потому что он больше не нужен Connection,

Другой класс (экземпляр проводится App) затем создает собственный экземпляр File_Hanlder позже и может работать с файлами, так как переменная для пути является статической.

Идея 2

App создает экземпляр Connection а также File_Handler (давайте называть их con а также fil).

Чтобы установить соединение, fil передается по ссылке на con установить пути к переменным для файлов, создать файлы и т. д.

Для работы с файлами позже, App будет проходить вокруг fil управлять всей обработкой файлов для других классов, например, обновлять чат и т. д.

Для этого потребуется много классов, чтобы иметь конструктор или (а) функцию (и), которая должна иметь File_Handler Параметр и одна и та же переменная будут передаваться много раз.

Идея 3

Последняя идея, которую я имею в том, что Connection, File_Handler и другие classes будет создан очень общий без какого-либо или почти нулевого отношения к другим классам.

App затем создает множество функций (или даже «подклассов») для работы с этими классами, почти как работа с Frameworks, которые были разработаны независимо и, таким образом, теоретически могут без проблем использоваться в другой программе.


Какое решение вы считаете лучшим? Или у вас есть другое решение для меня, которое было бы еще лучше?

Пожалуйста, дайте мне знать, я буду признателен за вашу помощь

1

Решение

Задача ещё не решена.

Другие решения