我将开发一个新应用程序(可能使用Laravel或Rails)。关键是我们将让我们的数据库让我们说用户表,所以在应用程序级别,我们将有一个用户模型。当用户模型更改时,我们会立即向另一个外部源发送通知。将来应用程序必须允许切换外部源。
我认为一个好的选择是创建一个UserService(Service layer design patter)类来包装逻辑(保持数据同步),然后所有控制器都将使用它。
您如何看待它是最佳方式?
答案 0 :(得分:1)
我只有Laravel的经验所以我会为Laravel说话。
Laravel提供pretty much this - 开箱即用。它为模型方法提供事件,例如保存,保存,创建,创建......因此,在任何这些事件上设置服务级别通知都非常容易。如果您需要更具体的触发器,那么定义您自己的事件也非常容易。
但是,由于您在应用程序级别执行此操作,因此需要确保通过应用程序模型保存所有内容。比如,如果有人要通过SQL直接编辑某些数据,它会绕过这些事件。因此,您需要确保通过您的应用程序保存所有内容(例如连接到您服务的移动应用程序)。
另一个选择是使用一些提供该功能的数据库(PostgreSQL中的免费功能)。但从“未来应用程序必须允许切换外部源”来判断。这正是你想要避免的。