RESTful服务设计-单例服务

本文关键字:服务 单例 RESTful | 更新日期: 2023-09-27 18:27:01

我之前开发了一个应用程序,它公开了一组RESTful服务。我设计了完全无状态的业务逻辑实现类和相应的存储库类,每次有客户端请求时,它们都会被实例化。现在,我正在开发另一个几乎没有RESTful服务的应用程序。在这种情况下,其中一个服务从其他外部服务获取数据,并需要缓存该数据一段时间。我正在考虑将这些数据缓存在我的应用程序数据库中,并通过创建一个新的业务类对象为每个请求提供这些数据。但在这里,我有一个疑问——这是正确的设计吗?我应该将业务逻辑类设为singleton并维护状态(即,在内存中缓存数据)吗?

请分享你的想法。

感谢

RESTful服务设计-单例服务

我会使用web服务器级缓存。在asp.net中,您可以使用Cache对象,该对象由内存或您选择的外部缓存提供程序支持。

经过一些文献研究,我得出结论,拥有singleton类没有错。RESTful服务只是外部世界的资源接口,但如何管理它们完全是内部的。我还意识到,不需要从数据传输对象(接收请求和发送响应)到数据库列的端到端映射。在许多情况下,我的DTO映射到映射到DB表的模型对象,但我也对这三项进行了不同的设计。