当前位置: 首页 > 专利查询>微软公司专利>正文

丰富数据绑定应用程序制造技术

技术编号:2849682 阅读:156 留言:0更新日期:2012-04-11 18:40
为允许在不需要软件开发者进行大量图形设计或需要图形设计者具有大量软件知识的情况下进行应用程序开发,将应用程序分离成视图和模型。视图中的属性和模型中的属性通过数据绑定,例如通过数据绑定引擎来关联。该关联允许声明性地定义视图。可能需要变换来允许数据绑定。数据绑定允许模型中的数据和功能通过视图中定义的UI来使用。也允许自动生成的UI及命令绑定。

【技术实现步骤摘要】

本专利技术涉及计算机处理,尤其涉及具有用户界面地应用程序的开发和操作。
技术介绍
为产生具有图形用户界面(GUI)的丰富客户应用程序,同时需要高质量的图形设计工作和传统软件工程技能。必须完成图形设计工作以提供应用程序的GUI方面的外观。需要传统软件工程技能以提供应用程序的功能。图形设计和软件开发是两种非常不同的学科。图形设计者和软件开发者通常很难有生产力地共同工作,从而使得很难产生同时具有高质量GUI和高质量功能的客户应用程序。通常,设计者使用诸如Photoshop(来自Adobe Systems公司)、Illustrator(也来自Adobe Systems公司)、Flash(来自Macromedia公司)以及Director(也来自Macromedia)等图形工具来创建关于UI应当看上去像什么的视图。这一“实体模型”然后由开发者使用诸如Visual Studio(来自微软公司)等编程工具来重新实现。在最终的实现中,通常对原始的图形设计元素有极少的重用。来自第一应用程序的某些位图和图标偶然会在新的应用程序中重用,但是建立原型的控件和交互性不被重用。这一过程的另一问题是,由图形设计者创建的部分设计会在该过程中丢失,因为易于绘制的某些效果对于软件开发者而言是难以或不可能重新创建的。实现设计者的想象的一个限制是软件开发者对于能够使用代码和当前的应用程序接口(API)做出的产物具有限制。另一实质的限制是开发者可能不能完全理解该设计,且可能在实现中做出与设计者的意向不同的选择。另外,所得的应用程序是不可重用的。如果随时间的推移而修改设计,则设计者必须使用设计工具来重绘UI,而程序员必须重写代码的这些部分来匹配该设计。这可以在多个级别的任一级上发生从表单或应用程序的总体布局到单个控件的外观。一般而言,以上述方式创建的代码难以调试、维护和扩展。在可以外部地指定UI之前,有必要将应用程序业务逻辑与呈现分离。分离两者的一种方法是模型-视图-控制器(MVC)设计模式。MVC试图通过将应用程序划分成以下三个区域来解决这一问题抽象模型、该模型的视图以及每一视图的控制器。控制器处理输入事件,并将它们转换成对视图或模型的改变;相反,视图和控制器将观察器附加到模型,使得它们可在模型改变时更新它们自身。例如,对于用户可用于搜索目录并查看目录信息的web客户应用程序,模型是储存目录信息之处。视图是对用户的呈现。控制器处理输入事件(诸如来自用户的点击和文本),并告知视图和模型如何作为结果来改变;视图和控制器也可作为模型中的改变,即视图和控制器通过观察器来获悉的改变的结果来改变。MVC模式在概念上是清楚的。然而,在实践中,通常难以分离视图和控制器。由于这一困难,两者通常被组合成单个ViewController(视图控制器)类,它仍是设计和逻辑的混合,由此设计者和开发者同样难以在其上进行协作或对其中的任一个进行单独的创建。此外,将ViewController和模型捆绑在一起所需的处理事件和实现观察器和更新机制是易于出错且对设计者完全不适当的冗长乏味的、代码密集型任务。此外,观察器和更新代码通常在各个实例之间是类似的。由此,如上所述,当前的开发者/设计者工作流和应用程序体系结构具有许多内在的问题。鉴于上述缺陷,需要一种改进的方式用于创建和设计具有用户界面(UI)组件的应用程序或其一部分。本专利技术满足了这一需求。
技术实现思路
为允许将视图和模型分离,同时最小化观察器和更新处理代码,使用了数据绑定。视图包括绑定到模型中的至少一个模型属性的至少一个视图属性。该绑定简化了使视图与设计紧密配合的任务,且自动执行了事件处理、观察器和更新机制先前所处理的功能。在某些实施例中,可使用变换器来变换来自模型的数据以在视图中使用。在某些实施例中,可自动生成从视图中得到的UI的各部分。在某些实施例中,可使用命令绑定来允许在UI中触发的命令在模型中得到处理。本专利技术的其它特征和优点将从以下本专利技术的详细描述和附图中变得明显。附图说明当结合附图阅读时,可以更好地理解以上概述以及以下当前较佳实施例的详细描述。为说明本专利技术起见,附图中示出了本专利技术的示例性构造;然而,本专利技术不限于所揭示的特定方法和装置。附图中图1是其中可实现本专利技术的各方面的示例性计算环境的框图2是依照本专利技术的一个实施例包括UI组件的应用程序的框图3是依照本专利技术的一个实施例可与模型一起使用的视图的描述;图4是依照本专利技术的一个实施例的应用程序的各部分的框图5是示出依照本专利技术的一个实施例,在视图、数据绑定组件和模型之间的数据流的框图6是描绘依照本专利技术的一个实施例的命令绑定的使用的框图;以及图7是依照本专利技术的一个实施例,经由用户界面向用户提供功能的方法的流程图。具体实施例方式示例性计算环境图1示出了适合在其中实现本专利技术的计算系统环境100的一个示例。计算系统环境100仅为合适的计算环境的一个示例,并非对本专利技术的使用范围或功能提出任何局限。也不应将计算环境100解释为对示例性操作环境100中示出的任一组件或其组合具有任何依赖或需求。本领域的普通技术人员可以理解,计算机或其它客户机或服务器设备可被部署为计算机网络的一部分,或在分布式计算环境中部署。在这一点上,本专利技术涉及具有任意数量的存储器或存储单元、以及在任意数量的存储单元或卷上发生的任意数量的应用程序和进程的任何计算机系统,这些计算机系统可结合本专利技术来使用。本专利技术可应用于具有部署在网络环境或分布式计算环境中、具有远程或本地存储的服务器计算机和客户机计算机的环境。本专利技术也可应用于具有编程语言功能、用于结合远程或本地服务生成、接收和发送信息的解释和执行能力的独立计算设备。本专利技术可以使用众多其它通用或专用计算系统环境或配置来操作。适用于本专利技术的众所周知的计算系统、环境和/或配置包括但不限于,个人计算机、服务器计算机、手持式或膝上设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子设备、网络PC、小型机、大型机、包括任一上述系统或设备的分布式计算环境等等。本专利技术可以在诸如程序模块等由计算机执行的计算机可执行指令的一般上下文环境中描述。一般而言,程序模块包括例程、程序、对象、组件、数据结构等等,它们执行特定的任务或实现特定的抽象数据类型。本专利技术也可以在分布式计算环境中实践,其中,任务由通过通信网络或其他数据传输机制连接的远程处理设备来执行。在分布式计算环境中,程序模块和其他数据可以位于包括存储器存储设备的本地和远程计算机存储介质中。分布式计算便于通过计算设备和系统之间的直接交换来共享计算机资源和服务。这些资源和服务包括信息的交换、高速缓存存储以及文件的磁盘存储。分布式计算利用了网络连通性,从而允许客户机充分利用其集体能力来使整个企业获益。在这一点上,各种设备可具有可利用本专利技术的技术的应用程序、对象或资源。参考图1,用于实现本专利技术的示例系统包括计算机110形式的通用计算设备。计算机110的组件可包括,但不限于,处理单元120、系统存储器130以及将包括系统存储器的各类系统组件耦合至处理单元120的系统总线121。系统总线121可以是若干种总线结构类型的任一种,包括存储器总线或存储器控制器、外围总线以及使用各类总线体系结构的局部总线。作为示例而非局限,这类体系结构本文档来自技高网
...

【技术保护点】
一种用于通过用户界面提供功能的方法,所述方法包括:    提供描述用户界面的视图数据,所述视图数据包括至少一个视图属性;    提供实现所述功能的模型数据,所述模型数据包括至少一个模型属性;以及    将至少一个所述视图属性绑定到至少一个所述模型属性。

【技术特征摘要】
US 2005-3-15 11/080,5311.一种用于通过用户界面提供功能的方法,所述方法包括提供描述用户界面的视图数据,所述视图数据包括至少一个视图属性;提供实现所述功能的模型数据,所述模型数据包括至少一个模型属性;以及将至少一个所述视图属性绑定到至少一个所述模型属性。2.如权利要求1所述的方法,其特征在于,所述绑定包括使用数据绑定引擎来绑定。3.如权利要求1所述的方法,其特征在于,将至少一个所述视图属性绑定到至少一个所述模型属性的所述步骤包括提供所述模型属性的变换,所述变换产生符合视图的模型属性;以及将所述符合视图的模型属性绑定到所述模型属性。4.如权利要求1所述的方法,其特征在于,所述视图数据基于至少一个特定的视图属性描述了用户界面元素的呈现,其中,所述特定视图属性被绑定到至少一个特定的模型属性,且其中,所述绑定允许所述呈现基于所述至少一个模型属性自动生成所述用户界面元素。5.如权利要求4所述的方法,其特征在于,所述自动生成包括从以下各项中选出的一个或多个填充菜单项、填充列表视图、填充组合框。6.如权利要求1所述的方法,其特征在于,所述模型属性是命令。7.一种包括用于执行如权利要求1所述的方法的计算机可执行指令的计算机可读介质。8.一种用于提供具有用户界面的应用程序的系统,所述系统包括包括描述用户界面的视图数据的视图,所述视图数据包括至少一个视图属性;包括实现所述功能的模型数据的模型,所述模型数据包括至少一个模型属性;以及将至少一个所述视图属性绑定到至少一个所述模型属性的数据绑定组件。9.如权利要求8所述的系统,其特征在于,所述绑定包括使用数据绑定引擎来绑定。10.如权利要求8所述的系统,其特征在于,所述视图属性到所述模型属性的所述绑定包括提供所述模型属...

【专利技术属性】
技术研发人员:A盖斯佩瑞尼CR斯通纳D默特JF布隆司基尔J高斯曼KB库珀L罗德P马伦TA彼得斯
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1