AOP技术介绍--(.Net中关于AOP的实现)
    
            
摘要:一、AOP实现初步 AOP将软件系统分为两个部分:核心关注点和横切关注点。核心关注点更多的是业务逻辑,关注的是系统核心的业务;而横切关注点虽与核心的业务实现无关,但它却是一种更通用的业务,各个关注点离散地分布于核心业务的多处。这意味着,如果不应用AOP,那么这些横切关注点所代表的业务代码,就会分散在系统各处,导致系统中的每个模块都与这些业务具有很强的依赖性。在这里,所谓横切关注点所代表的业务,即为...
        
阅读全文
摘要:基于.NET环境的分布式应用系统开发技术1 ASP.NET提供的分布式应用程序的基本原理      1.1 分布式应用程序结构      分布式应用程序的主要原则是将应用程序逻辑地分为3个基本层:   (1) 表示;   (2) 业务逻辑;   (3) 数据访问和存储。   通过按照这些原则对应用程序进行分层,使用基于组件的编程技术,并充分利用.NET平台与Microsoft Windows 操作...
        
阅读全文
摘要:使用Websharp Service Locator 简化分布式系统开发 什么是Websharp Service Locator 对于多层的应用系统来说,我们通常把它们划分成客户端、应用服务层和数据库。在应用服务层,我们需要考虑至少两个方面的问题: ü 如何实现业务逻辑 ü 如何向客户端提供服务。 我们可能使用多种技术来实现服务的提供:Webservice、.Net Remot...
        
阅读全文
摘要:分布式系统开发学习之CS模式(一)常建昭 2005-5-13CS模式简介分布式结构至今已经有了30年的历史了,特别自电脑网络的时代开始,分布式结构变的非常的受欢迎。CS模式(Client-Server Architecture)可能是应用软件开发所使用的最成功的一种模式。它首先是出现在主机系统中,在局域网环境下,其性能显的格外的突出。而现在,CS模式已经成为一种基本的开发设计模式。虽然CS应用软件...
        
阅读全文
摘要:看过一本书,题目是《AscpectJ in Action》,正好这一段手上的项目搞一段落,所以有一点点空暇,决定写一些东西。AOP 是Aspect-Oriented Programming的简写。曾经为这个Aspect的中文翻译伤透了脑筋,还有一个相似的AOP,那是Attribute-Oriented Programming,于是,有人译作面向方面编程,后者则是面向特性编程。面向特性编程可以说得过...
        
阅读全文
摘要:摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对31天重构最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的。记得当时一口气看完了整个系列并没有多少感觉,因为这些基本上项目都在使用,只是我们没有专门把它标示和整理出来,所以也没有引起多大的重视。现在突然接手这个重构项目,由于团队成员技术和经验参差不齐,...
        
阅读全文
摘要:C# 用装饰模式实现蝌蚪变青蛙的过程 在面向对象的理论中,始终强调是抽象与组合以及一些其他面向对象的机制比如继承,封装和多态。前面的文章都将有抽象是什么,至于抽象如何使用,就是把实现往上总结共性而去除特性,由此得到抽象层次和实现层次,所以设计模式中的基本上很多都是利用这种方法来实现面向对象的抽象,以使得软件能够降低变化带来的影响。我们知道C#是一种强类型的语言,也就是对象的行为在定义的时候就确定好...
        
阅读全文
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对31天重构最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的。记得当时一口气看完了整个系列并没有多少感觉,因为这些基本上项目都在使用,只是我们没有专门把它标示和整理出来,所以也没有引起多大的重视。现在突然接手这个重构项目,由于团队成员技术和经验参差不齐,所以有...
        
阅读全文
摘要:“圣殿骑士”技术博客,书写自己对技术的理解。天道酬勤、坚持不懈!圣殿骑士 刚入住博客园写技术博客,目前主要在一家外资企业从事项目管理、技术架构及企业技术培训工作。由于工作和项目需要,所以对一些技术进行了较为深入的研究,之前在整个公司做过一些技术专场的培训,由于每次时间较短且人员较多的关系,所以没能讲得很透彻,所以挺对不住那些同事的。现在在园子里开一个博客,希望能把所学的微薄...
        
阅读全文
摘要:31 Days of RefactoringRefactoring is an integral part of continually improving your code while it moves forward through time. Without refactoring you accrue technical debt, forget what portions of cod...
        
阅读全文
摘要:摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对31天重构最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的。记得当时一口气看完了整个系列并没有多少感觉,因为这些基本上项目都在使用,只是我们没有专门把它标示和整理出来,所以也没有引起多大的重视。现在突然接手这个重构项目,由于团队成员技术和经验参差不齐,...
        
阅读全文
摘要:摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对31天重构最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的。记得当时一口气看完了整个系列并没有多少感觉,因为这些基本上项目都在使用,只是我们没有专门把它标示和整理出来,所以也没有引起多大的重视。现在突然接手这个重构项目,由于团队成员技术和经验参差不齐,...
        
阅读全文
摘要:摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对31天重构最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的。记得当时一口气看完了整个系列并没有多少感觉,因为这些基本上项目都在使用,只是我们没有专门把它标示和整理出来,所以也没有引起多大的重视。现在突然接手这个重构项目,由于团队成员技术和经验参差不齐,...
        
阅读全文
摘要:.NET 业务框架开发实战之十 第一阶段总结,深入浅出,水到渠成(后篇) 前言:接着上篇来。3. 再次借鉴.NET Framework设计思想自己实现其实不难,关键看怎么做了。在实现的时候,如果自己单独去搞一套方式,如果设计的不好,可能到后来别人不好理解,甚至连自己也忘记当初自己为什么这样设计。所以,要充分的借鉴已有的好的实现思想。分析了IQueryable,其实最大的区别就是,我们不希望去立刻操...
        
阅读全文
摘要:.NET 业务框架开发实战之十 第一阶段总结,深入浅出,水到渠成(前篇)  前言:这个系列有段时间没有动了。主要是针对大家的反馈在修改代码。在修改的过程中,也有了一些新的体会,这里和大家分享一下,同时也发布一下业务框架的第一个版本。在本篇文章中,学习到的不是仅仅只是代码,而是设计的思想和实现这种思想的方法。在写本篇时有个感触:把一个东西彻底的讲清楚,不容易。希望大家多提意见。而且在写本篇的时候,我...
        
阅读全文
摘要:最近接手到一个已经成型的项目,然后我们的任务就是对它进行重构,这个项目是一个功能很齐全的WPF视频播放器(附带很多其他功能),在仔细研究了项目的背景和架构以后,初步做出了一下的重构方案:目前现状:虽然整个系统做得很漂亮,代码也写得不错,但仍有以下不足:1, 架构有待改善。虽然看似MVC架构,却没有遵循MVC的模式,里面逻辑和UI耦合很高,没有清晰的规律。 2, 没有充分用到WPF的特性。WPF除了...
        
阅读全文
摘要:.NET 业务框架开发实战之九 Mapping属性原理和验证规则的实现策略   前言:之前的讨论一直关注在怎么从DAL中获取数据,以及数据的Mapping问题。实际上,一个业务框架最主要的作用就是简化业务逻辑的编写和开发。    本篇的议题如下: 框架的借鉴 综合考虑   1.框架的借鉴   一个框架的产生不是那么简单的,有很多的问题需要Richard去考虑: 避免重新造轮子 借鉴现有的成熟的框架...
        
阅读全文
摘要:那会在.NET,比较流行的ORM就是NHiberate和IBatis.NET了。在用到这些ORM框架时,经常需要将界面的输入经过处理后转换成实体,最终通过ORM框架映射到数据库。不知道大家使用最简单的赋值还是使用类似UIMapper的组件。我的方法是自己设计了一个O-O Map的组件,将一个Object的值通过声明的特性转换到另一个Object,同时也支持反向映射。由于窗体也就是一个Object,...
        
阅读全文
摘要:一个插件平台除了需要考虑插件的结构、插件位置、插件类型空间、插件依赖、插件通讯、插件多版本支持、插件国际化等插件所需的基本要素之外,还需要考虑一个开发人员如何开发、调试和部署插件。本文简要描述了插件类型空间相关的知识——CLR Loader、CLR Loader VS Java ClassLoader和插件的类型空间及类加载机制实现。1 CLR Loader关于CLR加载器...
        
阅读全文
摘要:3.3 平行的类层次结构(1)什么是平行的类层次结构呢?  简单点说,假如有两个类层次结构,其中一个类层次中的每个类在另一个类层次中都有一个对应的类的结构,就被称为平行的类层次结构。  举个例子来说,硬盘对象有很多种,如分成台式机硬盘和笔记本硬盘,在台式机硬盘的具体实现上面,又有希捷、西数等不同品牌的实现,同样在笔记本硬盘上,也有希捷、日立、IBM等不同品牌的实现;硬盘对象具有自己的行为,如硬盘能...
        
阅读全文