Я разрабатываю прототип DataSnap REST-сервера с настольным клиентом FireMonkey, и мне было интересно, является ли использование модулей, которые инкапсулируют модели данных на сервере для клиента, хорошей практикой или нет.
То есть у меня есть ряд модулей для серверного проекта, которые представляют объекты и свойства модели данных, и у меня есть серверные методы REST, которые либо принимают эти объекты в качестве параметров, либо возвращают их в качестве результатов.
Поскольку у меня уже есть эти модули, я просто добавил их в клиентский проект там, где это необходимо, однако серверное приложение DataSnap REST также будет использоваться из настольного клиента C# (и, возможно, веб-приложения HTML 5), которое не сможет использовать единицы .PAS, которые у меня есть, и мне потребуются собственные представления объектов.
Не лучше ли мне не использовать серверные единицы проекта, чтобы убедиться, что я не включаю ничего, о чем может знать клиент, не использующий DataSnap, или продолжить, как я, и написать модели C#/Java вручную или существует автоматизированный способ создания этих моделей, аналогичный тому, как Visual Studio генерирует модели классов из WSDL?