Вы правы, и ваш друг дал плохую идею. Кроме того, из вашего вопроса, я вижу, есть несколько проблемных вопросов, я не знаю, с чего начать, поэтому я просто перечислю их, но не в какой-то конкретной ситуации. Но основное правило, по которому вам следует читать, заключается в том, что вы должны согласиться с тем, что чем проще, тем лучше, поскольку Эйнштейн сказал: «Все должно быть сделано как можно проще, но не проще» (или что-то подобное, я не помню точную цитату).
- Понятия внешнего интерфейса и внутреннего интерфейса на самом деле не относятся к настольному приложению. Скорее, вы хотите использовать шаблон MVC для разделения интересов. Википедия может быть хорошим местом для начала изучения или рецензирования.
- Зачем использовать сокет (который совершенно не нужен), если вам это не нужно. Это первая причина, почему это плохая идея, так как вам не нужно использовать сокеты, если все сделано на языке, работает в одном и том же пространстве процесса (Ваше приложение является настольным или автономным приложением).
- Точно так же, почему XML (опять же ненужный). Нет необходимости, потому что вы можете просто передавать объекты Java или C #. С XML, во-первых, возникает сигнал к шуму, поскольку теги добавляются к истинным данным. Затем есть время проанализировать, сконструировать XML, потенциально дополнительные библиотеки и т. Д. Это будет весь тот код, который представлен в подходе вашего друга.
Это самые очевидные причины. Есть и другие причины с точки зрения менеджера или компании:
- Для поддержки этого приложения менеджеру или компании необходимо нанять 2 разных набора навыков. Это может быть неверно, так как большинство программистов в любом случае многоязычны. Но это не всегда так.
- Что касается развертывания, то теперь вы заставляете своих пользователей устанавливать JRE и .NET Framework только для того, чтобы иметь возможность запускать ваше приложение. И ни один из них не совсем маленький след.