目前我有一个基于Java的网站,它本地使用JDBC与DB集成。但现在我开发了一个Android应用程序和一个iOS应用程序,它在本机应用程序中提供相同的网站功能。 Android和iOS应用程序目前都与网站项目连接以访问API
我现在想的是在Java中创建一个单独的项目,该项目只提供网站,Android应用程序和iOS应用程序的API接口,以及将来还需要与相同的业务逻辑或数据库集成。< / p>
但在继续之前,我想了解这种方法是否正确。在我看来,它会妨碍网站的速度和性能,因为它需要使用JSON数据从服务访问数据,这需要将对象转换为JSON并再次解析它们以呈现视图。
问题:
答案 0 :(得分:0)
你的想法是正确的。通过实现向所有消费应用程序公开API的联合服务层,您将实现关注点分离,您将分离UI和数据模型,并且能够实现核心逻辑更改,而不会破坏使用公共层的任何应用程序。您还可以轻松地向场景中添加更多消费应用。
是的,服务层中的任何数据处理自然会影响速度和性能。
解决性能问题的方法很多,具体取决于具体问题和预算。想到的一些解决方案是:
作为公共集中服务层的替代方案,人们会想到微服务。它有自己的好处和复杂性。您可以查看this Martin Fowler article。
希望这有帮助!