Spiga

[置顶]html5系列目录

2011-08-23 09:09 by 破狼, 1790 visits, 网摘, 收藏, 编辑
摘要:html5作为下一代web标准,年前轩起了html5热潮。对于html5我只是本着了解看看。关于html5和RIA(silverlight,flash,JavaFx等)我不想说什么,也没有什么可说的,存在就有其存在的理由。孰优孰劣,留给事实、时间来证明的。 在html5中出现了一些新特性:canvas 元素视频 video 和 声频audio 元素 ;对本地离线存储(localStorage,sessionStorage)的支持 ;新增特殊内容元素:article、footer、header、nav、section ;新增表单控件: calendar、date、time、email、url.. 阅读全文

[置顶]代码生成技术-目录

2011-08-22 21:34 by 破狼, 2420 visits, 网摘, 收藏, 编辑
摘要:在这里总结的是本博客中的一些关系代码生成的技术,其中包含CodeDom,CodeSmith,T4,Mono.CecilMSIL(静态AOP实例)注入,以及一些杂记。一:CodeDom目录CodeDOM 提供了表示许多常见的源代码元素类型的类型。您可以设计一个生成源代码模型的程序,使用 CodeDOM 元素 构成一个对象图。可以使用受支持的编程语言的 CodeDOM 代码生成器,将该对象图呈现为源代码。CodeDOM 也可以用于将 源代码编译成二进制程序集。 CodeDOM 的一些一般用途包括: 模板化代码生成:生成 ASP.NET、XML Web 服务客户端代理、代码向导、设计器或其他代码发. 阅读全文

[置顶]我jQuery系列之目录汇总

2010-06-09 18:41 by 破狼, 1733 visits, 网摘, 收藏, 编辑
摘要:最近一个月写了些关于jQuery的文章,谢谢大家的支持。文章仅我个人观点,也许有不对的地方,请指出。这个系列还在更新中一:jQuery基础系列:jQuery温习篇---强大的JQuery选择器jQuery之工具函数jQuery之筛选函数jQuery1.4.2新特性(翻译)jQuery Ajax 回顾jQuery 1.4 版本的十五个新特性-转载 二:jQuery插件系列:jQuery Alert Dialogs (Alert, Confirm, & Prompt Replacements)(翻译)jQuery File Tree(翻译)关于jConfirm回传的解决方案我的jQuery 阅读全文

WCF利用企业库Unity框架的IOC层次解耦

2012-02-07 23:23 by 破狼, 1280 visits, 网摘, 收藏, 编辑
摘要:由于工作几个月来框架开发已经好久没写博客了,今天想抽点时间出来冒泡。在领域驱动开发中SOA已经成为我们开发的主流技术,在面对当前众多的UI框架选择(asp.net mvc,silverlight,wpf,winform,wp7等一些列甚至跨语言),我们能够重用和抽象的业务逻辑是不会变化的,为了屏蔽这些UI的复杂性和差异性,我们可能会采用诸如wcf soap的服务发布。再说在领域驱动开发中我们肯定会把各个逻辑分层次隔离解除耦合,这就出现了N层架构,在于我们的每一层次之间的耦合度当前流程的解决方案IOC框架,以及业务解耦AOP。这里要解决的是SOA框架WCF和IOC框架的结合。 WCF框架是一个. 阅读全文

记录由Equal基础知识引起的内存泄露

2011-12-30 19:53 by 破狼, 1179 visits, 网摘, 收藏, 编辑
摘要:在最近的公司框架开发中,利用了网上某大牛的反射缓存库作为辅助。在测试的时候发现出现了巨大的内存泄露,在频繁的操作后,内存不断的产生巨大的开销,10多分钟就占有了5,6m的内存。解决问题的时,公司不能上网,没有内存分析工具,没有我钟爱的ANTS Memory Profiler帮助下,我们只能靠简单的内存输出来二分查找缩小范围,利用System.Diagnostics命名空间下的Process的WorkingSet64属性来统计两次输出的内存增长量(WorkingSet64:描述关联的进程分配的物理内存量(以字节为单位))。花了半天终于定位到了第三方的缓存块,一看吓一跳居然缓存了2,3万的对象。. 阅读全文

AOP之PostSharp7-解决IOC 不能直接new问题,简化IOC开发和IOC对象LazyLoad

2011-12-18 21:50 by 破狼, 883 visits, 网摘, 收藏, 编辑
摘要:经过几节的postsharp基础和每节的一个应用实例,已经基本PostSharp应用的能力,PostSharp主要是简化我们的开发,让编译器时候给我注入重复疲劳代码。 在今天我们的demo是,关于ioc(控制反转)的问题,ioc框架我们都会从ioc容器中取得我们的ioc对象注入,所以我们不能直接new对象得到我们的实例,必须Resolve。我一直都是很懒得人,既然有了PostSharp就的好好利用起来。大部份ioc逻辑是从以前的一篇利用Attribute简化Unity框架IOC注入转过来的,注入支持自定义配置文件,我个人不喜欢把配置信息全部写在一个web.config/app.config.. 阅读全文

AOP之PostSharp6-EventInterceptionAspect(事件异步调用)

2011-12-13 19:50 by 破狼, 757 visits, 网摘, 收藏, 编辑
摘要:在上几章我们讨论了方法属性字段的aspect,现在我们再来看看事件机制的aspect。和字段,属性location一样,在c#中字段也可以转化为方法名为add,remove的方法处理,所以对于事件的aspect,同样类似于我们的方法。我们先看看EventInterceptionAspect的定义: aspect类包含我们对于事件aspect所必要的注册,取消,调用的注入。其参数定义如下: 为我们提供了,ProceedAddHandler,ProceedInvokeHandler,ProceedRemoveHandler的事件处理代理。同样包含来自AdviceArgs的Instance对象。 . 阅读全文

AOP之PostSharp5-LocationInterceptionAspect

2011-12-11 14:50 by 破狼, 671 visits, 网摘, 收藏, 编辑
摘要:这节我们要讨论的是PostSharp的LocationInterceptionAspect,PostSharp官方把Property和Field成为Location。所以LocationInterceptionAspect就是为了实现Property和Field的拦截。在我们前面讨论了关于方法OnMethodBoundaryAspect的aspect,我们很容易想到,在c#中Property就是一个编译时分为Get和Set两个方法,对于property的aspect就类似于了我们的Method的aspect。而对于Field的aspect同样可以转换为对Property的aspect。下面我. 阅读全文

AOP之PostSharp4-实现类INotifyPropertyChanged植入

2011-12-10 20:58 by 破狼, 840 visits, 网摘, 收藏, 编辑
摘要:在前面几篇PostSharp的随笔,今天来一个简单的demo。PostSharp的其他内容将会在后面继续更新。 如果我们了解wpf或者silverlight开发中的MVVM模式,就知道框架要求我们的ViewModel必须实现INotifyPropertyChanged,来得到属性改变的事件通知,更新UI。实现INotifyPropertyChanged接口很简单,而且一沉不变,属于重复劳动。在这里我们将看看如何运用PostSharp来解决我们的重复劳动。当然这里只是一个demo演示,具体在项目开发中你直接实现INotifyPropertyChanged,或者AOP植入,这取决我个人和团队文化. 阅读全文

AOP之PostSharp3-MethodInterceptionAspect

2011-12-04 23:46 by 破狼, 893 visits, 网摘, 收藏, 编辑
摘要:在上两篇我们介绍了OnExceptionAspect和OnMethodBoundaryAspect ,在这节我们将继续了解MethodInterceptionAspect,他为我们提供了关于方法处理的AOP切入,不同于OnMethodBoundaryAspect,他不是边界,是方法体。有了我们可以在我们的方法切入aspect很多有用的信息,比如将同步方法变为异步,防止多次点击重复提交,winform,wpf的多线程调用UI(参见PostSharp - Thread Dispatching(GUI多线程)),长时间操作在超过用户接受时间弹出进度条等等有用的关于用户体验和业务逻辑功能,简化我们的. 阅读全文

AOP之PostSharp2-OnMethodBoundaryAspect

2011-12-04 19:03 by 破狼, 876 visits, 网摘, 收藏, 编辑
摘要:在上一篇中我们了解了简单的OnExceptionAspectAOP面向方向切入,在第一节中我们将继续我们的PostSharp AOP系列的OnMethodBoundaryAspect方法行为的切入,这也是我们常用的AOP切入。 OnMethodBoundaryAspect顾名思义其为对方法边界的切入,定义如下:在这里提供了四个方法边界点为我们切入。我们可以很轻松的对方法权限,执行时间,参数合法性等aspect。aspect传入参数MethodExecutionArgs给我如下信息,同时还包括父类AdviceArgs的Instance属性,实例方法才有值,静态方法则为null,这里还需要说一下. 阅读全文

AOP之PostSharp初见-OnExceptionAspect

2011-12-04 01:35 by 破狼, 1213 visits, 网摘, 收藏, 编辑
摘要:PostSharp 这个静态植入的aop框架我就不多说了,在以前的aop文件,我们也尝试用MSBuild+Mono.Cicel理解静态植入AOP的原理。最近公司准备购买Postsharp做一些AOP,减少开发是代码量,至于选择AOP相信也不用多说。我也在今天重新了解了些Postsharp最新版更新,这阵子的博客更新也少了,所以准备在MSBuild+Mono.Cicel的基础上再一些Postsharp系列。今天既然是初见,那么我们就从最简单的OnExceptionAspect开始。一:OnExceptionAspect起定义如下: 先写Aspect Attribute:View Code [S. 阅读全文

利用Attribute简化Unity框架IOC注入

2011-11-29 22:47 by 破狼, 1448 visits, 网摘, 收藏, 编辑
摘要:在我们的领域驱动设计(DDD)开发中,我们经常需要IOC框架使得我的框架依赖翻转,依赖抽象,避免直接new依赖于我们的具体实现。这些使得我们的框架整个项目结构不变,很方便的改变具体实现,使得项目提供可测试性,模块之间实现高内聚低耦合,减少我们的后期维护成本。IOC框架一般基于容器,在容器中存储着各个抽象和具体实现的依赖关系,当我们需要发出请求的时候,IOC框架会在当前容器中找到我们所需要的具体实现返回给我们,当然这里还有DI注入(属性,方法,构造),在我们的使用者(客户端)不需要了解具体实现,如何初始化,如何流转等具体,只需明白我们的契约接口暴露给我们的服务,IOC框架是解决抽象和具体直接的. 阅读全文