[英]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.