zoukankan      html  css  js  c++  java
  • SilverlightCaliburn应用框架2

             Silverlight-Caliburn应用框架1

             Silverlight-Caliburn应用框架2

             Silverlight-Caliburn应用框架3

             Silverlight-Caliburn应用框架4 

             Silverlight-Caliburn应用框架5

             Silverlight-Caliburn应用框架6

         前一篇对Cailburn有个先入为主的印象,这篇我们具体的认识一下Caliburn这个框架。

            Caliburn框架本身为支持UI设计支持了MVC,MVP,MVVM,Commands和App Controller模式,这样它就提供了较为普遍的UI架构问题的解决方案,

    那么其中还包括减轻了对依赖注入容器的使用。

            Caliburn框架提供了几个比较重要的特性:

            Action:Caliburn扩展了之前SL的不能绑定到方法的能力,其为一些相关类提供了手势,附加事件等持久型的API,这种方法绑定移除了MVP,MVVM中代码的耦合,同时Caliburn的Action机制可以从UI上传递参数给方法,并将返回的结果绑定到UI上,它还提供了一个Filter机制用于装饰方法,这些过滤器可以通过禁用,折叠,隐藏控件影响UI,Caliburn也可以执行异步方法和回调,框架本身已经对线程进行处理。

           Command:Command可以解决SL3之前不支持Command的问题,Command是构建在Action之上,自然可以共享一些特性,比如说支持多个输入参数,过滤器和异步执行,这里父Command不仅可以执行多个子Command命令,也可以被子命令通过多种方式影响。

           App Model:Caliburn通过IPersenter接口支持基于MVP,MVVM的UI架构,其通过Presenter, PresenterManager, MultiPresenter等类对各种UI组件进行激活,禁用和关闭等场景的操作。

          Convention:这一点,第1篇已经粗略提到,Caliburn定义了一些基本的规范用于获取对应视图,Action的绑定等,这个部分也可以自己进行扩展或定制

          Testability:Caliburn对测试数据绑定提供了丰富的支持,并定义了接口用于验证对象的变化通知,Caliburn的绑定校验可以准确的告诉你问题所在以及相关错误的信息。

          Utilities:Caliburn提供了丰富的类和扩展方法,其中最受欢迎的就是Execute静态类了。

          上面主要是对Cailburn的几个特点进行了一些说明,这个部分是我从官方网站上进行的翻译,也是第一次翻译技术文档,有理解不对的,欢迎指正!其实也可以看出来,我翻译的内容也是有侧重点的,因为我主要关注的两点就是Action和Command,对于其它部分,若是感兴趣可以自己去官网了解。

          这篇我们先关注一下Silverlight应用Caliburn框架的配置,创建好项目之后,先添加dll:

                Caliburn.Core.dll,

                Caliburn.PresenationFramework.dll ,

                Microsoft.Practices.ServiceLocation.dll

          这个在第1篇中已经详细说过,主要看下面的部分:

          现在我们需要在App.cs中进行配置

          首先引用命名空间

           using Caliburn.Core;
    
           using Caliburn.PresentationFramework;
    现在修改Application_Startup
           private void Application_Startup(object sender, StartupEventArgs e)
    
            {         
    
                CaliburnFramework.ConfigureCore().WithPresentationFramework().Start();
    
                this.RootVisual = new MainPage();
    
            }

           这行代码就将Calibrun中核心框架与各种特性配置到应用程序中了,这时候程序就可以编译了,你也可以像第一篇所演示的那样从CaliburnApplication类继承 ,这是最简单的配置方式,除此之外,还有许多方法用来自定义配置,因为从本质上讲,Caliburn是一系列UI服务的集合,那么其中任一服务都可以单独进行配置,不过这种情况出现相对而言也是比较少的,主要是利用了Caliburn对依赖注入容器的一个扩展机制,上面的例子就是Caliburn默认的通过DI容器进行的简单配置,也可以通过IServiceLocator接口进行配置,这里不是我所关注的地方,如果必要,请参阅相关文档。

  • 相关阅读:
    hbase权威指南PDF下载
    流畅的pythonPDF下载
    现代操作系统PDF下载
    Kafka权威指南PDF下载
    java核心技术卷1PDF下载
    计算机网络自顶向下方法PDF下载
    git gitlab 部署
    MySQL 索引、事务与存储引擎(详细解读)
    QT: Layout布局间消除间隙(修改layout内置参数)
    数据结构---归并排序
  • 原文地址:https://www.cnblogs.com/626498301/p/1807168.html
Copyright © 2011-2022 走看看