В настоящее время занимаюсь групповым проектом для колледжа на Java. Задача состоит в том, чтобы создать распределенную систему с нулевым доверием. Наша группа определилась с приложением для конференц-чата с использованием архитектуры клиент-сервер. Поскольку я присоединился к группе поздно, большая часть кода уже была завершена, и они решили разработать архитектуру MVC для проекта. У меня есть опыт работы с MVC через разработку Rails, и я могу оценить, насколько это удобно в этом контексте. Тем не менее, я не вижу преимуществ в том, чтобы использовать его так, как это было реализовано моей группой.
Существует два класса для клиента и сервера, каждый из которых содержит методы для отправки и получения дейтаграмм и поля, такие как сокеты, чтобы разрешить отправку. Существуют также классы ServerController и ClientController. Каждый из этих классов состоит только из одного поля (Сервер и Клиент соответственно), и все методы являются либо обертками для открытых методов Сервера или Клиента, либо простыми служебными методами. Примером может быть:
public void closeDownServer(){
server.closeDownServer();
}
Мне это кажется совершенно бессмысленным, и что в данном случае MVC был реализован только для использования шаблона проектирования. Может кто-нибудь сказать мне, есть ли какая-либо польза от кодирования приложения таким образом? Есть ли необходимость в этих классах контроллеров вообще?