Nic*_*ner 8 architecture silverlight windows-phone-7
我有一个Silverlight Windows Phone 7应用程序,它从公共API中提取数据.我发现自己一遍又一遍地做同样的事情:
显示给用户的内容可以直接从数据源获取,例如ObservableCollection,或者可以是对数据源的查询.
我想将这个重复的过程分解成一个框架,理想情况下只需要指定以下内容:
听起来可能很多,但是两个字符串,三个FrameworkElements和两个方法比我目前的开销要少.
此外,这需要工作,但数据在内存中维护,并且需要在这些集合上进行直接集合和查询.
我的问题是:
有这样的事情已经实施了吗?
我对上述主题的看法在某种程度上是根本错误的吗?
这是我想到的设计:
有两个组件,一个视图和一个模型.
View给出了FrameworkElement加载,失败和成功的信息.它还给出了相应模型的参考.视图UserControl位于UI中的某个位置.
Model是一个给出数据URI的类,一个如何解析数据的方法,以及一个文件名和如何解析文件的方法.它负责检索数据并在当前状态(加载/失败/成功)发生变化时通知View.如果从网络下载的数据与缓存不同,则网络数据优先.当应用关闭或被逻辑删除时,模型会将数据写入缓存.
听上去怎么样?
我花了一些时间仔细阅读了您的要求,并提出了一些想法,可以作为参考。
首先,对于具有共同行为的重复性任务,这绝对是解决问题的方法。您并不是唯一一个思考这个问题的人。
做大量此类事情的人可能已经创建了类似的抽象,但据我所知,没有一个被公开发布。
您能走多远可能取决于您是否打算将其仅供您自己使用以及具有非常相似需求的人使用,或者您是否想要处理更一般的情况并制作可供广泛受众使用的产品。
我将假设是前者,但这并不排除将其作为可以进一步开发和/或分叉的开源项目发布的可能性。
通过不尝试满足所有可能性,您可以对使用实现的性质,特别是 UI 设计选择做出某些假设。
我认为总的来说你的想法是正确的。在阅读您的一些高层次想法时,我认为有些事情可以简化(这是一件好事),同时提供令人信服的用户界面。
关于你最初的观点。
关于您的潜在投入。
关于实施。
希望这能让您思考一些事情,并保证您正在走上正确的道路。有很多方法可以解决这个问题。哪条最好的道路最终将由您的目标驱动。
| 归档时间: |
|
| 查看次数: |
641 次 |
| 最近记录: |