[英]Multi-device architecture
我目前正在嘗試為我的多設備項目構建一個“核心”。
該項目是關於 web 應用程序的,該應用程序通過 facebook 登錄對用戶進行身份驗證,然后公開他們可以執行的一組新操作 - 例如。 獲取數據庫中與其 facebook id 等相關的所有記錄。
核心應該通過以下設備來理解:
現在你將如何組成核心?
您是否將其設為返回 JSON 的 WCF 服務?
你會把它變成一堆返回 JSON 的控制器嗎?
在查詢核心時,您如何確保用戶是他/她所說的人? 我應該每次傳遞 facebook 生成的 accessToken 嗎?
正如您可能已經注意到的那樣,我完全不知道如何做到這一點。
提前致謝。
不確定我是否正確理解了您的問題,但是...
首先,您必須定義或可能決定“核心”是什么? 或者核心應該是什么—— Core
將執行什么功能。 理想情況下,當我們說核心時,它本質上是指執行基本或原子操作的層。
例如,通過該核心,您可以生成構建查詢以發送到核心的設備包裝器(iPhone、PC 等)。
您可以使用 WCF 數據服務來構成數據層。 您的核心可以執行業務操作/等,並與數據服務通信。
例如,我立即能想到的是:
DeviceWrapper
( DeviceAndriod、DeviceIPhone、DeviceWeb 等),用於包裝不同的設備。 例如,Factory/Builder 模式的混合。 想想Device
的工廠,以及視圖類型的 Builder。TextRenderer
根據設備設置呈現文本。一種方法可能是,讓我們決定:
Core
將是一個執行基本操作的“庫”:
所以,
第 1步:編寫 Controller 以提供身份驗證/授權; 例如,調用Core.Authenticate()
和Authorize()
;
第 2步:基於用戶代理調用 ICore.RenderView(agentType),這可能會返回要呈現的視圖/html。
用戶可以執行一個動作,你的 Controller 可以調用Core.PerformAction()
; 例如,這反過來可能會將鏈接返回到要重定向的頁面。
- 更新 -
此更新是為了回應您的評論。
現在,在這個(您的評論)案例中,您正在談論客戶端。
讓我們澄清一下。 有服務器,也有客戶端。
到目前為止,我們討論的是服務器端,主要涉及:
客戶端可能是:
決定這個“客戶端應用程序”將做什么。 例如,在您的情況下:
請注意,您可能需要考慮智能客戶端(使用 web 服務,而不是 asp.net web 頁面)。
此外,WCF 中的類型提示可能會在 JSON 響應中為大型 collections 添加大量不必要的開銷。 因此,如果您甚至認為您可能在某個時間點需要多種類型的端點(SOAP 等),那么 WCF 就是通往 go 的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.