0
假設我有一個像stackoverflow這樣的假設付費應用程序。該應用程序允許用戶做兩件事情:設計用於管理應用程序中服務的付費訂閱?
- 發帖提問
- 後一個答案
此申請費$ 20買它允許發佈10個問題和10名回答的計劃。
從技術上講,這兩個動作是通過完全不同的接口
interface Questions {
postQuestion(String question);
}
interface Answers {
postAnswer(int questionId, String answer);
}
這兩個服務是一種通過網絡訪問,通過不同的控制器暴露。我需要跟蹤用戶發佈的問題和答案的數量,以便在達到限制時讓他們購買新的產品,而不必將此任務委託給服務。
例如在Java中,我需要類似像Map<Method,Integer>
這樣的地圖,它跟蹤每個允許的方法被成功調用的次數。並且,通過攔截對這些服務的呼叫來維護這張地圖。該地圖還需要數據庫存儲。
謝謝!
謝謝,它要求每個服務檢查他們的方法是否可以被調用。有了許多不同的服務,它很難讓每個服務都爲自己做檢查。由於這也是一種'交叉切割'的問題,因此我想以某種方式攔截呼叫,並且我可以配置哪些方法需要攔截。那有意義嗎? –
如果你有很多調用,那麼你可以創建2個併發的HashMap(每個計數器一個)。當客戶連接加載地圖中的當前值時。當他的會話結束時保存數據庫中的值。在客戶旅程中,數據庫不會被使用,只有您的地圖。 –