- 博客(667)
- 资源 (1)
- 收藏
- 关注
原创 第06篇 MEF部件的生命周期(PartCreationPolicy)
本演示介绍了MEF的生命周期管理,重点介绍了导出部件的三种创建策略,分别是:CreationPolicy.Any、CreationPolicy.Shared、CreationPolicy.NonShared。
2015-04-30 05:38:10
4890
2
原创 [MEF]第05篇 MEF的目录(Catalog)筛选
本示例演示如何使用MEF提供的目录(Catalog)的扩展机制实现可过滤导出部件的自定义目录类。主要是通过继承ComposablePartCatalog基类,并实现接口INotifyComposablePartCatalogChanged来完成的。
2015-04-15 23:03:36
3965
原创 [MEF]第04篇 MEF的多部件导入(ImportMany)和目录服务
此演示介绍了MEF如何使用ImportMany特性同时导入多个与相同约束相匹配的导出部件,并且介绍了目录服务(Catalog),该服务告知MEF框架可以在什么地方去搜寻与指定约束匹配的导出部件,即导出部件位于什么地方。
2015-04-08 23:31:09
6659
原创 [MEF]第03篇 MEF延迟加载导出部件及元数据
此演示介绍了MEF的延迟加载及元数据相关的内容。在实际的设计开发中,存在着某些对象是不需要在系统运行或者附属对象初始化的时候进行实例化的,只需要在使用到它的时候才会进行实例化,这种方式就可以理解为对象的迟延初始化,或者叫迟延加载。 对于提升系统的性能大有裨益呀!另外,还可以为导出的部件添加元数据,以便在代码中提供更加灵活的扩展办法,或获取更多的相关信息。
2015-04-01 22:15:34
2667
原创 [MEF]第02篇 MEF的导入导出契约
此演示介绍了如何为Export指定导出的协议名和类型,以及如何为Import指定导入的协议名和类型,只有确保导出和导入的协议名和类型相匹配了,才能注入成功,否则注入就会失败。
2015-03-30 23:23:33
2597
原创 [MEF]第01篇 MEF使用入门
此演示初步介绍了MEF的基本使用,包括对MEF中的Export、Import和Catalog做了初步的介绍,并通过一个具体的Demo来展示MEF是如何实现高内聚、低耦合和高扩展性的软件架构。演示中,针对于IBookService接口,有3个不同版本的实现,分别是ComputerBookServiceImp、HistoryBookServiceImp和MathBookServic
2015-03-26 22:51:19
10475
原创 Telerik控件相关演示
RadDocking第01篇 初步介绍RadDocking布局控件第02篇 保存和加载RadDocking的布局第03篇 设置RadDocking的停靠指示器样式第04篇 设置面板的停靠状态IsPinned第05篇 在同一个RadSplitContainer中定义多个面板分组
2015-03-26 22:02:56
2527
原创 [Telerik]RadDocking第05篇 在同一个RadSplitContainer中定义多个面板分组
此演示展示了RadDocking控件的如下三方面内容:1、通过设置RadSplitContainer的Orientation属性来控制多分组面板的排列方向,分别有横向排列(Horizontal)和纵向排列(Vertical)两种。2、通过在RadSplitContainer中放置多个RadPaneGroup来达到分组的目的,这点不同于一个分组(RadPaneGroup)中有多个面板(RadPane)的情况。3、通过给RadPanGroup设置附加属性ProportionalStackPanel.Rel
2015-01-28 07:15:27
3434
原创 [Telerik]RadDocking第04篇 设置面板的停靠状态IsPinned
此演示展示了设置每个RadPane的IsPinned属性来控制面板是否被钉住,或者缩小到隐藏区域。所谓钉住面板,其实就是将面板固定住,而不是自动缩放到隐藏区域。通过将RadPane.IsPinned设置为True可以将面板固定住,设置为false则不固定面板,将其防止在停靠区域。相关下载(屏幕录像):http://yunpan.cn/cKK5Irbpb9Lt6 提取码 2b04在线播放:http://v.youku.com/v_show/id_XODc4MTIyNjg4.html温馨提示:如果屏幕录像
2015-01-23 21:34:17
3066
原创 [Telerik]RadDocking第03篇 设置RadDocking的停靠指示器样式
一、演示概述此演示展示了如何通过设置RadDocking的CompassStyle和RootCompassStyle来控制停靠罗盘指示器的停靠行为,从而方便的实现对面板的上下左右和居中的停靠。相关下载(屏幕录像):在线播放:温馨提示:如果屏幕录像和代码不能正常下载,可站内留言,或发邮件到524130780@QQ.COM二、运行效果效果如下图所示:三、关键
2015-01-20 22:57:47
2710
原创 [Telerik]RadDocking第02篇 保存和加载RadDocking的布局
此演示展示了如何通过RadDocking控件自身所提供的SaveLayout()保存布局信息,以及通过LoadLayout()方法来加载布局信息。如此一来,就可以将用户自定义的布局信息持久化保存到文件中,当用户再次打开应用时,可将布局完好如初的恢复显示。相关下载(屏幕录像):http://pan.baidu.com/s/1qWx73fY
2015-01-16 09:40:20
2801
原创 [Telerik]RadDocking第01篇 初步介绍RadDocking布局控件
此演示是有关于Telerik控件使用系列演示的第一个演示,初步展示了RadDocking控件的布局功能,对应于Telerik自家所提供的Demo中的First Look这段内容。希望通过此演示,能让大家对RadDocking有一个初步的感觉。相关下载(屏幕录像):http://pan.baidu.com/s/1qWx73fY在线播放:http://v.youku.com/v_show/id_XODcwMzQzOTI0.html
2015-01-14 09:24:38
3839
原创 [WPF]静态资源(StaticResource)和动态资源(DynamicResource)
一、文章概述本演示介绍了WPF的静态资源和动态资源的基本使用,并对两者做了简单的比较。静态资源(StaticResource)指的是在程序载入内存时对资源的一次性使用,之后就不再访问这个资源了;动态资源(DynamicResource)使用指的是在程序运行过程中然会去访问资源。相关下载(代码、屏幕录像):http://pan.baidu.com/s/1c0q2BVM在线播放:htt
2014-11-03 21:37:39
31836
原创 [WPF]使用Pack URI路径访问二进制资源
一、路径格式定义完整的URI定义为:pack://application,,,[/可选程序集名称;][可选版本号;][文件夹名称/]文件名称缩略后的写法是:[文件夹名称/]文件名称二、在XAML代码中使用URI路径完整路径的使用:相对路径的使用:三、后台代码中的使用// 相对路径。Uri imageUri = new Uri(@"Resources
2014-11-02 22:32:43
3259
原创 在独立的文件中定义WPF资源
一、文章概述本演示介绍如何在单独的文件中定义WPF资源,并在需要的地方调用相关资源文件。相关下载(代码、屏幕录像):http://pan.baidu.com/s/1sjO7StB在线播放:http://v.youku.com/v_show/id_XODExODg0MzIw.html温馨提示:如果屏幕录像和代码不能正常下载,可站内留言,或发邮件到524130780@QQ.COM
2014-10-26 17:36:28
2599
原创 在WPF的MVVM框架中获取下拉选择列表中的选中项
文章概述:本演示介绍如何在WPF的MVVM框架中,通过数据绑定的方式获取下拉列表中的选中项。程序运行后的效果如下图所示:相关下载(代码、屏幕录像):http://pan.baidu.com/s/1sjwN357在线播放:http://v.youku.com/v_show/id_XODA5OTYzMDU2.html温馨提示:如果屏幕录像和代码不能正常下载,可站内留言,或发邮件
2014-10-23 23:06:30
9091
原创 WPF对象级资源的定义与查找
文章概述:本演示介绍了如何定义WPF对象级的资源,并通过XAML代码和C#访问和使用对象级资源。相关下载(代码、屏幕录像):http://pan.baidu.com/s/1hqvJNY8在线播放:http://v.youku.com/v_show/id_XODA1NTU2Mzky.html一、完整的定义和使用资源<Window x:Class="Demo008.Ma
2014-10-20 05:44:05
3391
原创 WPF自定义命令Command
一、自定义命令自定义命令必须要实现ICommand接口,如下代码所示:/// /// 自定义的清除命令。光脚丫思考 2014-7-31 06:51:32/// public class ClearCommand : ICommand{ public bool CanExecute(object parameter) { throw new Not
2014-10-17 09:14:19
4702
原创 WPF附加事件定义
路由事件的宿主都是些拥有可视化实体的界面元素,而附加事件则不具备显示在用户界面上的能力。添加和移出附件事件的两个方法命名约定:1、为目标UI元素添加附加事件侦听器的包装器是一个名为Add*Handler的public static方法。星号代表事件名称,与注册事件时的名称一致。2、解除UI元素对附加事件侦听的包装器是名为Remove*Handler的public static方法,星号也是
2014-10-17 09:07:38
3162
原创 WPF命令参数CommandParameter
XAML代码如下:<Window x:Class="Demo006.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="
2014-10-17 09:07:12
6851
原创 WPF使用RoutedCommand自定义命令
主要代码如下所示:/// /// 声明并定义命令。/// RoutedCommand ClearCommand = new RoutedCommand("Clear", typeof(MainWindow));/// /// 初始化命令。崔有来 2014-7-30 06:23:10/// void InitializeCommand(){ // 为命令设置快捷键。
2014-10-17 09:05:41
6856
转载 重构改善既有代码的设计:简化条件表达式
一 简化条件表达式这个是几乎所有的工程都会存在的问题,不当的条件表达式造成代码的冗余。下面我们列出普遍的问题,并给出一般的应对方法。【1】条件判断过长,表达不清晰。[cpp] view plaincopyif((i!=0&&i == m_nDClickIndex[1])&&(m_nDClickIndex[1]!=m_n
2014-10-14 22:43:30
1149
转载 高并发量网站解决方案
一个小型的网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单。随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,已经不是原来简单的ht
2014-10-01 20:40:01
1025
原创 获取路由事件的源Source和OriginalSource
路由事件的消息包含在RoutedEventArgs实例中,该实例有两个属性Source和OriginalSource,都是表示路由事件传递的起点,即事件消息的源头,只不过Source表示的是LogicalTree上的消息源头,而OriginalSource表示的是VisualTree上的源头。主要代码如下:public MainWindow(){ InitializeComp
2014-08-16 10:55:31
3825
原创 在XAML代码中为节点树安装事件监听器
通过下面的示例代码,可以发现,我们能为任意的节点指定要监听的路由事件,而这个路由事件本身和这个元素可能根本就没有关系。<Window x:Class="Demo002.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://sche
2014-08-16 10:50:23
1664
原创 在XAML代码中导入名称空间
使用如下的代码导入指定的名称空间。不仅导入了名称空间,而且还为该名称空间指定了一个前缀local,当然也可以指定为其他的前缀名,这个可自行定义。导入后,该名称空间的公开成员即可在当前XAML代码中使用了。比如示例中的TimeButton这个类,其实是个继承自按钮的自定义控件类。<Window x:Class="Demo002.MainWindow" xmlns="http:
2014-08-16 10:45:06
2286
原创 自定义路由事件
自定义路由事件大体上可分为三个步骤:1、声明并注册路由事件;2、为路由事件添加CLR事件包装;3、创建可以激发路由事件的方法。主要的示例代码如下:public class TimeButton : Button{ /// /// 声明并注册路由事件。 /// public static readonly RoutedEvent Repo
2014-08-16 10:39:53
2171
原创 使用WPF内置的路由事件
如下图所示,按照传统的事件做法,会直接将事件和事件的处理器直接绑定到一起,而且需要分别为Left和Right两个按钮关联单击事件的事件处理程序。但使用WPF则没有这样麻烦。XAML代码如下:<Window x:Class="Demo001.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/
2014-08-16 10:34:12
2093
原创 WPF UI布局之概述
在线演示:http://v.youku.com/v_show/id_XNzA5NDk2Mjcy.html清晰版视频+代码下载:http://115.com/lb/5lbeer0m9lad一、简介本篇对WPF的布局控件做一个初步的概览,并分别演示Grid、StackPanel、Canvas、DockPanel和WrapPanel五个布局控件。。主要内容包括:1、UI布局的方式
2014-05-11 22:39:04
4635
原创 WPF的六类控件之概述
在线演示:http://v.youku.com/v_show/id_XNzA0NjU1Mjk2.html清晰版视频+代码下载:http://115.com/lb/5lbcftnrfo9s一、简介本篇让我们一起来了解一下WPF对控件的定义,以及它的六大类控件,分别为:内容控件、带标题的内容控件、条目控件、带标题的条目控件、特殊控件、布局控件。主要内容包括:1、WPF的控件定义。
2014-05-06 06:33:43
2846
1
原创 开篇:数据驱动UI的设计理念
在线演示:http://v.youku.com/v_show/id_XNzA0NDc1ODE2.html清晰版视频+代码下载:http://115.com/lb/5lbcfwdfuwis一、概述本演示主要是对WPF一个非常重要的设计理念做一个简单的概述。这个理念就是:数据驱动UI的设计理念。这是我们的开篇,我们先来看一下这个设计理念,然后感受一下它与我们之前的掌握的UI设计方式
2014-04-29 22:39:36
6444
转载 程序设计的预防与诊断
转自【云下山巅】的博客:http://blog.csdn.net/mindfloating/article/details/9229005最近一个月,生产环境上的程序偶发性的出现故障,而每次发生时现象都颇为诡异,神奇的是最后自己还能恢复。这有点像是癫痫病人,小心翼翼的生怕发作,弄的人神经紧张。程序一旦上了生产环境,基本就进入了隔离屋,这种偶然性的运行时问题,对程序开发者提出了更高的
2013-08-06 09:46:49
1391
转载 Windows系统架构
[+]操作系统模型大多数操作系统中,都会把应用程序和内核代码分离运行在不同的模式下。内核模式访问系统数据和硬件,应用程序运行在没有特权的模式下(用户模式),只能使用有限的API,且不能直接访问硬件。当用户模式调用系统服务时,CPU执行一个特殊的指令以切换到内核模式,当系统服务调用完成时,操作系统切换回用户模式。Windows与大多数UNIX系统类似,驱动程序代码共享
2013-07-10 21:50:22
9142
转载 ASP.NET性能调试
设计考虑性能和安全的考虑应用程序逻辑划分的考虑:逻辑分层,然后使用工具将DLL打包;亲和度的考虑:验证方面的考虑;减少往返次数:尽量减少与服务器的交互;避免在长时间任务中的阻塞:可以使用异步,.net也可以设置异步;使用缓存:善于使用缓存来提高程序的性能,将常用且不常变动的内容缓存;避免不必要的异常,尽量介绍异常的发生,应该在逻辑编码的过程中避免异常的发生如果不需要查看详细,可以直接使用t
2013-07-09 19:13:34
1211
转载 MemSQL:号称世界上最快的内存-关系型数据库 兼容MySQL但快30倍
MemSQL是一款内存数据库,它通过将数据存在内存中,将SQL语句预编译为C++而获得极速的执行效率。MemSQL宣称这是世界上最快的分布式关系型数据库,兼容MySQL但快30倍,能实现每秒150万次事务。 MemSQL由前Facebook工程师Eric Frenkiel和微软SQL Server高级工程师Nikita Shamgunov(CTO)联合创办,MemSQL的高性能数据库还参照了Fac
2013-06-26 12:36:40
3108
3
原创 设计服务层
服务层中的类应该暴漏契约。实现接口是个不错的选择。该接口可能用数据迁移对象来接收并返回数据,且选用粗粒度而不是细粒度的方法,以降低来回通信次数并提高吞吐量。为问题领域中的每个实体创建一个服务类,也可以考虑使用一个服务类。强烈建议为每个服务都暴漏一个接口。
2012-08-27 20:26:50
1526
1
原创 服务层的优势、劣势
服务层的优势除去两个层之间的耦合。降低表现层与业务层之间的通信流量。服务层的劣势简单系统的服务层或许有过度设计之嫌。Flower的第一条有关分布式对象设计的建议:不要使用分布式,除非它真正能够带来好处。
2012-08-27 20:25:46
2039
原创 何时使用服务层
一套公用的应用程序编程接口。表现层和业务逻辑层都不应该包含业务逻辑。老板=表现层、经理=服务层服务层应该用在所有有一定复杂性的应用程序中。若有多个前端且应用逻辑比较复杂,那么最好将整个应用逻辑放在同一的位置,而不是为每个应用程序接口都重新写一遍。
2012-08-27 20:24:41
1084
N层研习01的测试代码
2010-10-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅