首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
Prism6下的MEF:第一个Hello World
】的更多相关文章
Prism6下的MEF:第一个Hello World
最近看书比较多,正好对过去几年的软件开发做个总结.写这个的初衷只是为了简单的做一些记录. 前言 复杂的应用程序总是面临很多的页面之间的数据交互,怎样创建松耦合的程序一直是多数工程师所思考的问题.诸如依赖注入,PubSub模式,MVVM等概念,都致力于帮助我们创建更加松耦合易于维护的程序,也有不少框架实现了这些功能,Prism就是其中一个. Prism是微软的实践和模式小组写的一套框架,包含了常用的依赖注入方式(Autofac,Mef,Ninject,StructureMap,Unity),MVV…
Prism6下的MEF:基于微软企业库的Cache
通常,应用程序可以将那些频繁访问的数据,以及那些需要大量处理时间来创建的数据存储在内存中,从而提高性能.基于微软的企业库,我们的快速创建一个缓存的实现. 新建PrismSample.Infrastructure.Cache 新建一个类库项目,将其命名为PrismSample.Infrastructure.Cache,然后从nuget中下载微软企业库的Cache. 然后新建我们的CacheManager类: using Microsoft.Practices.EnterpriseLibrary.C…
Prism6下的MEF:添加Logger
上篇已经简单的构建了一个Prism的程序,现在我们需要添加一个Logger,Prism本身自带一个功能简单的TextLogger,但是我们希望能用.Net常用的Log4net.所以我们需要重载掉Bootstrapper中的CreateLogger方法. 新建一个PrismSample.Infrastructure.Logger项目 从nuget中引用log4net的,添加配置文件logging.confing: <?xml version="1.0" encoding="…
Swift技术之如何在iOS 8下使用Swift设计一个自定义的输入法 (主要是NSLayoutConstraint 的使用)
当前位置: > Swift新手入门 > Swift技术之如何在iOS 8下使用Swift设计一个自定义的输入法 时间:2014-09-10 16:49来源:未知 作者:啊成 举报 点击:562次 我会复习一下有关键盘扩展的内容,然后通过使用iOS 8中的新应用扩展API的设计一个摩斯码的输入法.完成这个教程大约需要花费20分钟.完整代码 概览 通过使用自定义输入法替换系统输入法,用户可以实现一些特别的功能.例如一个特别新颖的输入方式,或输入iOS原生并不支持的语言.自定义输入法的基本功能很简单…
Eclipse 下如何引用另一个项目的Java文件
有关联的2个项目,有些类是相同的.例如实体类. 如果你采用 Ctrl + C & Ctrl + V 的方式,以后再有改动,2个项目就都需要改动. 怎样才能只改动一个呢? 答案就是,在一个项目(项目A)中引用另一个项目(项目B). 右键 项目A,点击 Properties ,点击左侧的 Java Build Path ,再选中右侧的选项卡 Projects , 点击 Add 按钮,选中 项目B ,最后点击按钮 OK . OK,项目A中可以直接使用(import)项目B中的Java类了. 关于资源文…
Eclipse 下如何引用另一个项目的资源文件
为什么要这么做?可参考:Eclipse 下如何引用另一个项目的Java文件 下面直接说下步骤:(项目A 引用 项目B的资源文件) 1.右键 项目A,点击菜单 Properties 2.在弹出的框中,点击左侧的 Java Build Path,选中右侧的 Source 选项卡,如图 3.点击上图中右侧 Link Source 按钮,出现如下图所示. Linked folder location : 点击 Browse 按钮,找到 项目B 对应的资源的位置 Folder name :随便取,只要和 …
Qt ------ window下工程项目打包成一个exe程序
最近,在学习QT5的过程中,想尝试着把自己写的工程程序给打包发布出来,在任何一台windows系统都能运行,这样就不会限于电脑需不需要安装QT安装包了. 首先,先介绍自己使用的环境.我使用的QT版本是.我的电脑windows系统是win10专业版的.下面的打包教程,都是亲测可用的.但个人认为,即便是不同的windows操作系统,不同的QT版本,也应该是可以的.希望大家能及时反馈,我好及时更新. 第二,介绍一下我所使用的打包工具.一个是QT5自带的windeployqt(这个大家不需要下载安装),…
在Linux下,如何分析一个程序达到性能瓶颈的原因
0.在Linux下,如何分析一个程序达到性能瓶颈的原因,请分别从CPU.内存.IO.网络的角度判断是谁导致的瓶颈?注意现在的机器CPU是多核 1.用sar -n DEV 1 10 2.用iotop命令可以查看磁盘读写速度 3.用vmstat 1命令来查看各个指标,着重分析r,b,swpd,si,so,bi,bo,us,wa. 若r列或者us列数值偏高则说明cpu有瓶颈,若b列或者wa列数值偏高同时bi或bo的数字很大,则说明磁盘有压力,若swpd一直变化,并且si和so一直不为0,则说明内存不够…
【小程序】微信小程序打开其他小程序(打开同一主体公众号下关联的另一个小程序)
微信小程序打开其他小程序(打开同一公众号下关联的另一个小程序) 注:只有同一(主体)公众号下的关联的小程序之间才可相互跳转 wx.navigateToMiniProgram(OBJECT) wx.navigateToMiniProgram({ appId: '要打开的AppId', path: 'pages/index/index?id=123456789', extarData: { open: 'happy' }, envVersion: 'release', success(res) {…
PyCharm在同一个包(package)下,如何把一个.py文件导入另外一个.py文件下
PyCharm在同一个包(package)下,如何把一个.py文件导入另外一个.py文件下 在同一个包下只需要用import 掉以后就可以找到模块所在的位置,但是如果不在同一个包下,在需要返回父级调用 调用类的时候用 from mudule(模块名) import class(类名) 如何settings.py导入到.main.py中 如何a.py导入到b.py中 如图所示,同一个目录下面我就写了两个py文件,然后我就通过这两个py文件来讲讲Python的import. 先在a.py里面随…
商品类型的下拉框绑定一个事件,通过ajax获取属性
html代码这么写 <!-- 商品属性 --> <table cellspacing="1" cellpadding="3" width="100%" style="display:none;" class="tab"> <tr><td> <select name="Goods[type_id]"> <option val…
Windows10(UWP)下的MEF
前言 最近在帮一家知名外企开发Universal Windows Platform的相关应用,开发过程中不由感慨:项目分为两种,一种叫做前人栽树后人乘凉,一种叫做前人挖坑后人遭殃.不多说了,多说又要变成月经贴了. 讲讲MEF. MEF全称Managed Extensibility Framework.我们做.Net的碰到依赖注入(DI:Dependency Injection)这一块的内容,一般会选择使用Unity或者MEF,这也是Prism主要使用的两种方式.在.Net 4.0之前,MEF一直…
Windows下用Codeblocks建立一个最简单的DLL动态链接库
转自:http://blog.csdn.net/wangwei_cq/article/details/8187576 来源:http://hi.baidu.com/hellosim/item/9ae4317168f4a74bee1e53cb 建立一个最简单的只有一个get_id() 函数的DLL库 一.创建C语言动态链接库 1.新建一个动态库的工程 File - New - Project - DLL - Go 新建的工程原来的main.cpp和main.h删除,新建两个文件simple.h,…
在chrome下-webkit-box布局的一个bug
chrome,也就是webkit内核下作的检测, chrome版本是40, -webkit-box这种布局在移动端用的比较多,主要是因为pc端的浏览器内核参差不齐. 因为在写HTML的时候看上了-webkit-box的自动根据浏览器窗口大小自动排列的智能布局, 所以我也入了坑, 坑是这样的: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml…
C#中如何将combox中的下拉项和一个枚举中的各项进行绑定
实现一个combobox,将其各个下拉项与枚举进行绑定 效果图如下: 代码详解如下: 枚举: public enum StoreSite { /// <summary> /// 未知 /// </summary> [EnumTitle("未知")] None = , /// <summary> /// 北京 /// </summary> [EnumTitle("北京")] Beijing = , /// <sum…
GitHub的使用(下)—— 如何下载一个已存在的 Repository
导读:本篇主要介绍如何使用EGit下载GitHub上已存在的库.如果不是为了下载一个Java Project,直接在Eclipse中导入使用,那可以使用GitHub的桌面程序(GitHub for Windows),这个上传下载文件更方便.建议看这篇文章之前先看这篇 —— GitHub的使用(上)http://www.cnblogs.com/memory4young/p/github-create-upload-update.html 首先要确保Eclipse已经安装了GitHub的插件,即EG…
如何在IntelJ下用Maven创建一个Web项目
相信一开始做Web项目的同学都是直接把项目包放在WEB-INF/lib目录下,然后就开始做项目了.但是之后接触了一些使用了Maven进行包管理的项目,我们就不得不学一学如何用Maven做包管理. 在网上看了很多的文章,发现都不是很全面,因此就把自己摸索的过程记录下来,希望对大家有帮助.本文主要记录如何从无包管理的项目开发模式转到使用Maven进行项目包管理. 做编程的,对于新的知识,先运行起来再说,而不是去深究其原理.我们这里用Maven搭建一个简单的Web项目,让其可以运行起来.这可以让我们对…
在linux下通过hexdump生成一个十六进制的文本保存文件,解析此文件转变成正常源代码文件。
举例说明: 此十六进制保存的文件为此源代码hexdump生成的: #include<stdio.h> #include<string.h> #include<stdlib.h> #include<malloc.h> dtob(int a); int main(int argc,char **argv) { FILE *fp; int a; if((fp=fopen("1.c","r"))==NULL) { printf…
spring Boot环境下dubbo+zookeeper的一个基础讲解与示例
一,学习背景 1. 前言 对于我们不管工作还是生活中,需要或者想去学习一些东西的时候,大致都考虑几点: a) 我们为什么需要学习这个东西? b) 这个东西是什么? c) 这个东西能为我们做什么? d) 如何去学? 结合以上几点,我们一起学习下Dubbo这个框架! 2. 学习背景 互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,Dubbo是一个分布式服务框架,在这种情况下诞生的.现在核心业务抽取…
MySQL InnoDB下关于MVCC的一个问题的分析
这个是网友++C++在群里问的一个关于MySQL的问题,本篇文章实验测试环境为MySQL 5.6.20,事务隔离级别为REPEATABLE-READ ,在演示问题前,我们先准备测试环境.准备一个测试表test以及一个存储过程循环往test表里面插入记录. CREATE TABLE test ( `id` int(11) primary key not null, `name` char(255) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE…
JS下拉页面时一个横幅的样式和js
整理之前的代码,发现有一个js,就是页面往下浏览时,上面的商品名称和购买按钮在页面上方悬浮的,就整理下来,代码如下: <script type="text/javascript"> window.onload = function () { //var nav =$("#divnav"); var nav = document.getElementById('divnav'); window.onscroll = function () { var to…
在Mac系统下用STS搭建一个Spring MVC项目
[本文出自天外归云的博客园] 从STS的下载到空项目的搭建 1. 下载STS,下载解压缩后点击sts-bundle文件夹中的STS文件启动ide: 2. 创建Spring MVC项目:File->New->Dynamic Web Project->输入Project name: 3. 添加Spring MVC所需要的jar包(网上下载,百度搜:“Spring MVC jar包下载”):把所有的jar包都添加到WebContent/WEB-INF/lib目录下(lib文件夹手动创建): 4…
Android 在 SElinux下 如何获得对一个内核节点的访问权限【转】
本文转载自:https://blog.csdn.net/wh_19910525/article/details/45170755 Android 5.0下,因为采取了SEAndroid/SElinux的安全机制,即使拥有root权限,或者对某内核节点设置为777的权限,仍然无法在JNI层访问. 本文将以用户自定义的内核节点/dev/wf_bt为例,手把手教会读者如何在JNI层获得对该节点的访问权限. 第一步:找到需要访问该内核节点的进程(process),笔者自己这个节点由system_se…
记.net core 项目在linux系统下启动失败的一个教训
最近准备用.net core开发一个项目.使用的是Coldairarrow的框架.做了一部分之后,准备部署到服务器上测试一下.然后就遇到了这个问题. 项目路径: /home/www/webapi/ 启动的时候,输入: dotnet /home/www/webapi/*.dll 然后就报错了,启动失败.提示的错误是找不到数据库连接字符串 就很奇怪,于是就创建一个Hello Word的测试项目时.然后进行启动,是正常的. 就怀疑是不是项目启动注册的时候,没有读取到配置文件,调试测试了好几次.确实是…
【VS开发】【OpenGL开发】OpenGL---Windows下配置与第一个OpenGL程序
面记录一下Windows下配置OpenGL与我的第一个OpenGL程序. 第一步:选择一个编译环境 现在Windows系统的主流编译环境有Visual Studio,Broland C++ Builder,Dev-C++等,它们都是支持OpenGL的.但这里我选择的是VS 2010作为学习OpenGL的环境. 第二步:安装GLUT工具包 GLUT不是OpenGL所必须的,但它会给我们的学习带来一定的方便,推荐安装. 自己可以搜索"OpenGL SDK"下载,或者到官网上…
Ubuntu + Apache2 环境下用C编写 一个简单的cgi脚本
我只学习过c语言,没有学习过prel,网上很多教程都是针对prel的,很少有针对c的.自己在Ubuntu下鼓捣了一下午,也总算是用c成功编写了一个helloworld的cgi,算是cgi入门的第一步. 一.安装及配置apache服务器 安装apache2服务器 #sudo apt-get install apache2 配置apache2服务器 配置文件位于 /etc/apache2/sites-enabled/000-default 用vi打开配置文件: #sudo vi /etc…
Mac下用apache搭建一个局域网服务器
一:由于MacOX系统下自带Apache环境,所以我们在Mac系统下用Apache配置. Mac系统:10.14.4 二:启动Apache 启动 在终端输入:sudo apachectl start验证 在浏览器输入“http://localhost” 显示It works!说明服务器已经启动成功了 在Mac下Apache默认的根目录在“/Library/WebServer/Documents/”下,你也可以自己设置自己的文件夹,只需要在Apache的配置中修改就可以了. 三:配置服务器 1.在…
关于css中hover下拉框的一个bug
写hover下拉框的时候会遇到一个奇怪的bug,就是下拉框下来的时候会被所在位置的div遮挡,哪怕下拉框使用的absolute,也会被遮挡. 如图: 这个语言选择的下拉框会被下面的div挡住(截图是已经修复后的). 无论是设置下拉框的z-index还是改父元素的position都无法解决.最后的解决方案是把div的z-index设置为负数. 注意,有可能div的z-index改为负数后会潜到页面的背后,导致div的内容完全被body遮挡.我建议如果遇到这种情况可以把html和body元素的z-i…
在Linux系统下搭建和配置一个minio文件服务器(一)
1.minio文件服务器的介绍 Minio 是一个基于Go语言的对象存储服务.它实现了大部分亚马逊S3云存储服务接口,可以看做是是S3的开源版本,非常适合于存储大容量非结构化的数据,例如图片.视频.日志文件.备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等.区别于分布式存储系统,minio的特色在于简单.轻量级,对开发者友好. 2.minio的下载与安装 2.1下载网址:https://dl.min.io/server/minio/release/linux-a…
win8.1系统下,点击一个窗口,【当前活动窗口】该窗口无法置顶
两个或多个窗口同时显示在桌面的时候,点击下一层的窗口,无法置顶显示,无论怎么点击,还是隐藏在原置顶窗口的后面,只能手动把原置顶窗口最小化后,才能看到.例如,A窗口现在置顶,B窗口在A的后面,露出来一部分,我点击这一部分,A窗口的边框变灰,B窗口的边框变蓝,但是B窗口依然隐藏在A窗口后面,只能手动最小化A窗口,才能看到B窗口,然后这个时候,就是B窗口置顶了,接下来,我在在电脑下面的任务栏点击A窗口,A窗口同样无法置顶,还是显示在B窗口的下面,尽管B窗口的边框变成了灰色. …