摘要: 0 介绍 事件提供的是1对多的绑定,通过委托链实现对订阅者的调用,事件必须要通过发布者调用。同时事件订阅是强引用,事件订阅者的生命周期总是大于等于事件发布者。如果代码中事件很多就会充斥着各种事件的订阅,不利于维护。 Prism提供了EventAggregator器,可以在任何地方进行订阅,任何地方进 阅读全文
posted @ 2020-04-05 08:50 阿杜888 阅读(751) 评论(0) 推荐(0) 编辑
摘要: 介绍 WPF本身就支持通知、绑定和命令,实现ViewModel和VIew之间的通讯,但相对来说功能比较少,Prism扩充了这些功能并提供更加强有力,简洁的数据绑定和命令。 0 绑定通知 WPF的绑定通知需要实现INotifyPropertyChanged接口,也就是实现一个属性改变事件,用来通知UI 阅读全文
posted @ 2020-04-04 20:21 阿杜888 阅读(1237) 评论(0) 推荐(1) 编辑
摘要: 介绍 介绍一个Prism的MVVM实现,主要介绍Prism如何在WPF上进行的一些封装,以实现MVVM。MVVM到底是什么呢?看一下这一幅经典的图 以前没有ViewModel这个概念,就是将Model传递到View显示,这样软件也可以工作,但却很混乱,一旦VIew要改动,一点点的改动都会造成很多代码 阅读全文
posted @ 2020-04-01 22:39 阿杜888 阅读(1591) 评论(1) 推荐(3) 编辑
摘要: 介绍 在软件开发过程中,总想组件式的开发方式,各个组件之间最好互不影响,独立测试。Prism的Modules很好的满足了这一点。 这个架构图很好了讲解了Prism的Modules的概念 Prism支持通过配置文件,文件夹,手动载入Module的方式,并且对Module的载入进行验证,包括重复和循环依 阅读全文
posted @ 2020-03-30 22:57 阿杜888 阅读(1665) 评论(0) 推荐(3) 编辑
摘要: 介绍 上一篇介绍了Region,这一篇跟Region息息相关,讲一下Region中View的加载方式及控制。 4、ViewDiscovery 在创建好Region后需要将View添加到Region中。先补充几个概念 在上一篇将了如何创建Region,现在让我们看看Region类是什么 private 阅读全文
posted @ 2020-03-30 06:57 阿杜888 阅读(1265) 评论(1) 推荐(1) 编辑
摘要: 介绍 之前也研究过Prism框架但是一直没有深入理解,现在项目上想把一个Winform的桌面应用程序改造成WPF程序,同时我希望程序是可测试可维护架构良好的,Prism的这些设计理念正好符合我的需求,其主要用于WPF和Xamarin,用于构建松耦合,可维护,可测试的应用程序框架,在我看到源码后也深受 阅读全文
posted @ 2020-03-29 18:48 阿杜888 阅读(1906) 评论(3) 推荐(6) 编辑
摘要: 基元线程同步构造 构建可伸缩的,响应灵敏的应用程序,关键在于不要阻塞线程, 多个线程同时访问共享数据,获取并释放一个线程同步锁。锁会损害性能,获取和释放锁是需要时间的。只允许一个线程访问共享资源,可以使用值类型,多个线程对共享数据进行只读访问是没有任何问题的。 类库和线程安全 FCL保证所有静态方法 阅读全文
posted @ 2020-02-29 18:33 阿杜888 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 线程部分 线程基础 Windows为什么要支持线程 在单核单线程系统中有两个问题:1. 如果系统需要执行某些长时间任务或死循环,就没办法响应其他任何,造成系统“假死”;2.当系统重启或任务崩溃的时候所有的数据都丢失。 针对第一个问题:多线程解决,线程的职责是对CPU进行虚拟化。所有线程共享物理CPU 阅读全文
posted @ 2020-02-29 18:32 阿杜888 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 在研究完SuperSocket以后觉得对一些高性能代码代码不是很懂,如何进行AppDomain隔离,Process隔离等,细致重温一下Net Clr via.。 CLR 基础 CLR执行模型 1 将源码编译成托管模块 在选择framework平台开发后,就面向CLR进行开发 CLR:一个程序,代码块 阅读全文
posted @ 2020-02-02 20:44 阿杜888 阅读(332) 评论(0) 推荐(0) 编辑
摘要: SuperSocket1.6Code解析 Normal Socket System.Net.Sockets.dll程序集中使用socket类: 服务器: 1. 创建socket : 2. 创建IP : 3. 绑定IP地址: //绑定端口 4. 服务开启监听: //开启监听,backlog是监听的最大 阅读全文
posted @ 2020-01-28 09:44 阿杜888 阅读(872) 评论(0) 推荐(0) 编辑