2017-02-13 6 views
0

新しいアプリを開発します(LaravelまたはRailsを使用している可能性があります)。重要なのは、ユーザーテーブルをアプリケーションレベルで使用するというデータベースを用意していることです。ユーザーモデルが用意されています。ユーザーモデルが変更されると、瞬時に別の外部ソースに通知が送信されます。将来、アプリは外部ソースの切り替えを許可する必要があります。モデルの情報は外部ソースと同期しています

私は良いオプションはロジックを包む(データを同期して保持する)UserService(Service layer design patter)クラスを作成してからすべてのコントローラが使用すると思います。

あなたはそれを行う最善の方法は何だと思いますか?

+0

質問はかなり混乱しています。あなたは、なぜあなたが外部ソースで持続するのか説明していません。このような場合は、APIクライアントを構築する必要があります。 – fbelanger

答えて

1

私はLaravelでの経験があるので、私はLaravelで話します。

Laravelはpretty much thisを提供します。これは、保存、保存、作成、作成などのModelメソッドのイベントを提供します。そのため、これらのイベントでサービスレベルの通知を設定するのは非常に簡単です。より具体的なトリガーが必要な場合は、独自のイベントを定義することも非常に簡単です。

しかし、アプリケーションレベルでこれを実行しているので、は、がアプリケーションのモデルを通じてすべて保存されることを確認する必要があります。たとえば、SQLを使用して直接データを編集する場合は、イベントをバイパスします。したがって、すべてのもの(サービスに接続されたモバイルアプリなど)がアプリケーションを通じて保存されていることを確認する必要があります。

もう1つのオプションは、その機能を提供するデータベースを使用することです(空きPostgreSQLがない)。しかし、「将来、アプリは外部ソースを切り替えることを許可しなければならない」と判断している。それはまさにあなたが避けようとしているものです。

関連する問題