.Net常见的IOC框架及AOP框架

IOC框架Unity:微软patterns&practicest团队开发的IOC依赖注入框架,支持AOP横切关注点。MEF(ManagedExtensibilityFramework):是一个用来扩展.NET应用程序的框架,可开发插件系统。Spring.NET:依赖注入、面向方面编程(AOP)、数据访问抽象,、以及ASP.NET集成。Autofac:最流行的依赖注入和IOC框架,轻量且高性能,对项目代码几乎无任何侵入性。Ninject:基于.NET轻量级开源的依赖注入IOC框架AOP框架CastleEncase 是C#编写开发的为.NET平台提供的AOP框架。Encase独特的提供了把方面(aspects)部署到运行时代码,而其它AOP框架依赖配置文件的方式。这种部署方面(aspects)的方法帮助缺少经验的开发人员提高开发效率。NKalore 是一款编程语言,它扩展了C#允许在.net平台使用AOP。NKalore的语法简单、直观,它的编译器是基于MonoC#编译器(MCS)。NKalore目前只能在命令行或#Develop内部使用。NKalore兼容公共...

用T4生成EF框架下的DAL、IDAL、BLL、IBLL

(一)什么是T4模板?T4,即4个T开头的英文字母组合:TextTemplateTransformationToolkit。T4文本模板,即一种自定义规则的代码生成器。根据业务模型可生成任何形式的文本文件或供程序调用的字符串。(模型以适合于应用程序域的形式包含信息,并且可以在应用程序的生存期更改) (二)T4基本结构T4模板可以分为:指令块、文本块、控制块。指令块 - 向文本模板化引擎提供关于如何生成转换代码和输出文件的一般指令。文本块 - 直接复制到输出的内容。控制块 - 向文本插入可变值并控制文本的条件或重复部件的程序代码,不能在控制块中嵌套控制块。(三)设计时模板和运行时模板T4文本模板分为:设计时模板和运行时模板 (四)技巧快速编写模板:用T4生成EF框架下的DAL、IDAL、BLL、IBLL四层为例:DAL:<#@templatedebug="true"hostspecific="true"language="C#"#><#@templatelanguage="C#"debug=...
代码星球 代码星球·2021-02-16

.Net IOC框架入门之——Autofac

 Autofac是.NET领域最为流行的IOC框架之一,传说是速度最快的一个目的1.依赖注入的目的是为了解耦。2.不依赖于具体类,而依赖抽象类或者接口,这叫依赖倒置。3.控制反转即IoC(InversionofControl),它把传统上由程序代码直接操控的对象的调用权交给容器,通过容器来实现对象组件的装配和管理。所谓的“控制反转”概念就是对组件对象控制权的转移,从程序代码本身转移到了外部容器。4.微软的DependencyResolver如何创建controller 生命周期1、InstancePerDependency对每一个依赖或每一次调用创建一个新的唯一的实例。这也是默认的创建实例的方式。官方文档解释:ConfigurethecomponentsothateverydependentcomponentorcalltoResolve()getsanew,uniqueinstance(default.) 2、InstancePerLifetimeScope在一个生命周期域中,每一个依赖或调用创建一个单一的共享的实例,且每一个不同的生命周期域,实例是唯一...

.Net IOC框架入门之——Unity

  IOC:英文全称:InversionofControl,中文名称:控制反转,它还有个名字叫依赖注入(DependencyInjection)。  作用:将各层的对象以松耦合的方式组织在一起,解耦,各层对象的调用完全面向接口。当系统重构的时候,代码的改写量将大大减少。  依赖注入: 当一个类的实例需要另一个类的实例协助时,在传统的程序设计过程中,通常有调用者来创建被调用者的实例。然而采用依赖注入的方式,创建被调用者的工作不再由调用者来完成,因此叫控制反转,创建被调用者的实例的工作由IOC容器来完成,然后注入调用者,因此也称为依赖注入。   Unity是微软Patterns&Practices团队所开发的一个轻量级的,并且可扩展的依赖注入(DependencyInjection)容器;  它支持常用的三种依赖注入方式:构造器注入(ConstructorInjection)、属性注入(PropertyInjection),以及方法调用注入(MethodCallInjection)。  现在Unity最新的版本的4.0版,可以在微软的开源站点 http...

.Net IOC框架入门之——CastleWindsor

Castle是.net平台上的一个开源项目,为企业级开发和WEB应用程序开发提供完整的服务,用于提供IOC的解决方案.IOC被称为控制反转或者依赖注入(DependencyInjection)。Windsor是Castle 的一个IOC容器。它构建于MicroKernel之上,功能非常之强大,能检测类并了解使用这些类时需要什么参数,检测类型和类型之间工作依赖性,并提供服务或者发生错误时提供预警的机制。官网:http://www.castleproject.org源码: https://github.com/castleproject/Core源码: https://github.com/castleproject/Windsor推荐教程:http://www.cnblogs.com/Terrylee/archive/2006/04/28/387503.html 1.创建项目在程序包管理器控制台引用Castle.WindsorInstall-PackageCastle.Windsor-Version4.1.02.创建类库Business,并在web...

.NET常用开发框架汇总

分布式缓存框架:MicrosoftVelocity:微软自家分布式缓存服务框架。Memcahed:一套分布式的高速缓存系统,目前被许多网站使用以提升网站的访问速度。Redis:是一个高性能的KV数据库。它的出现很大程度补偿了Memcached在某些方面的不足。EnyimMemcached:访问Memcached最优秀的.NET客户端,集成不错的分布式均衡算法。开源的.NET系统推荐:OXITE:微软ASP.NETMVC案例演示框架。PetShop:微软ASP.NET宠物商店。Orchard:国外一个MVC开源的博客系统。SSCLI:微软在NETFramework2.0时代的开源代码。DasBlog:国外一个基于ASP.NET的博客系统。BlogEngine.NET:国外一款免费开源的博客系统。Dotnetnuke.NET:一套非常优秀的基于ASP.NET的开源门户网站程序。Discuz.NET:国内开源的论坛社区系统。nopCommerce和Aspxcommerce:国外一套高质量的开源B2C网站系统。JumboTCMS和DTCMS:国内两款开源的网站管理系统:日志记录异常处理:Log...

MYSQL 企业常用架构与调优经验分享

一、选择PerconaServer、MariaDB还是MYSQL mysql应用源码:http://www.jinhusns.com/Products/Download/?type=xcj1、Mysql三种存储引擎 MySQL提供了两种存储引擎:MyISAM和InnoDB,MySQL4和5使用默认的MyISAM存储引擎。从MYSQL5.5开始,MySQL已将默认存储引擎从MyISAM更改为InnoDB。MyISAM没有提供事务支持,而InnoDB提供了事务支持。 XtraDB是InnoDB存储引擎的增强版本,被设计用来更好的使用更新计算机硬件系统的性能,同时还包含有一些在高性能环境下的新特性。2、Percona Server分支 PerconaServer由领先的MySQL咨询公司Percona发布。PerconaServer是一款独立的数据库产品,其可以完全与MySQL兼容,可以在不更改代码的情况了下将存储引擎更换成XtraDB。是最接近官方MySQLEnterprise发行版的版本。Percona提供了高性能XtraDB引擎,还提供...

[转]Struts2.3.16.1+Hibernate4.3.4+Spring4.0.2 框架整合

原文地址:http://blog.csdn.net/ycb1689/article/details/22928519最新版Struts2+Hibernate+Spring整合目前为止三大框架最新版本是:struts2.3.16.1hibernate4.3.4spring4.0.2其中struts2和hibernate的下载方式比较简单,但是spring下载有点麻烦,可以直接复制下面链接下载最新版springhttp://repo.springsource.org/libs-release-local/org/springframework/spring/4.0.2.RELEASE/spring-framework-4.0.2.RELEASE-dist.zip 一.所需的jar包(其中aopaliance-1.0.jar,是spring所依赖的jar,直接复制粘贴到谷歌百度就有的下载) 框架版本所需jar包Struts22.3.16.1  Hibernate4.3.4  spring4.0.2其它无二.创建一张表 [j...

[转]SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)

原文地址:http://blog.csdn.net/zhshulin/article/details/37956105#comments 使用SSM(Spring、SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方。之前没有记录SSM整合的过程,这次刚刚好基于自己的一个小项目重新搭建了一次,而且比项目搭建的要更好一些。以前解决问题的过程和方法并没有及时记录,以后在自己的小项目中遇到我再整理分享一下。这次,先说说三大框架整合过程。个人认为使用框架并不是很难,关键要理解其思想,这对于我们提高编程水平很有帮助。不过,如果用都不会,谈思想就变成纸上谈兵了!!!Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍...

【转】深入浅出Java三大框架SSH与MVC的设计模式

原文链接:http://www.cnblogs.com/itao/archive/2011/08/22/2148844.html在许许多多的初学者和程序员,都在趋之若鹜地学习Web开发的宝典级框架:Struts2,Spring,Hibernate。似乎这些框架成为了一个人是否精通Java,是否会写J2EE程序的唯一事实标准和找工作的必备基础。 然而,如果在面试的时候问这些程序员,你们为什么要学习这些框架?这些框架的本质到底是什么?似乎很少很少有人能够给我非常满意的答复。因为他们都在为了学习而学习,为了工作而学习,而不是在真正去深入了解一个框架。其实所有的人都应该思考这样的问题:为什么要学习框架框架到底给我带来了什么?接下来,我们以登录作为一个最简单的例子,来看看不同的年代,我们是怎么写Web程序的。   在很多年前,我们这么写程序的  很多年前,那是一个贫苦的年代,如果我们要使用Java在网页上做一些动态的交互功能。很多人会告诉你一个技术,叫做JSP。在我还对Java非常困惑的时候,就有人告诉我,JSP是个好东西,它可以在HTML代码里面写Java代码来完成逻辑。<%...

【转】企业网站建设方法论

麦肯锡并不神秘,方法论铸就神奇!这是出现在麦肯锡系列丛书封面上非常醒目的一句广告语。博文标题的想法正来源于此,感谢麦肯锡。今天我们要谈论的主角并非麦肯锡,而是方法论,是建设企业网站的方法论。正如标题说言:网站建设并不神秘,方法论铸就神奇。  1.企业网站需要灵魂  伴随互联网的飞速普及,及相关建站软件的日新月异,现如今建设一个企业网站已相当容易,即使是对技术一窍不通的小白也能依靠智能软件信手拈来,所以说,科技很给力。通过观察不难发现,依靠上述这种简单粗暴方式建设网站的企业不再少数,尤其是中小企业,分析原因有三个:一是与其“短平快”的经营思路有关;二是成本低廉;三是不重视。  上周与国内某知名网站建设专家讨论企业网站建设话题,其中谈到的一点至今仍记忆犹新:企业网站需要灵魂。可以判断:依靠上述那种依靠智能软件或简单抄袭完成的网站一定是缺少灵魂的。  那如何才能建立一个有灵魂的企业网站呢?在这之前,我们需要先知晓何为企业网站的灵魂?简单说来就是:逻辑,想用户之所想的逻辑,有效传递品牌价值的逻辑。  如何才能做到想用户之所想,并有效传递品牌价值呢?  乍一想,可能会感觉无从下手,其实就是缺少方...
代码星球 代码星球·2021-02-15

【转】中小型企业网站设计思路及要点

传说中的“云南货架网”终于能与大家见面了,之所以不把它放到代表作品里是因为这样的小网站实在做得太多了,并不具备任何代表性;之所以今天又单独把它提出来讲一下,大致有三个目的:  1.分享我理解的名片式中小企业网站的设计思路。  2.分享如何在不放弃良好用户体验的情况下合理嵌入关键字。  3.分享如何在符合w3c标准的前提下合理利用义语xhtml标签进行页面构架。  这节主要说的是:中小型企业网站的设计思路。  首先,我们需要明白,中小型企业网站的建站目的是什么?  我认为,中小型名片式企业网站,建站目的相对简单,无非是以下几点:  1、企业形象展示  无论任何网站,拥有一个美观的界面自然是必须的。过于山寨的设计,不但很大程度降低了信息传播的速度与概率,更无法奢望能从中获得收益,甚至还会给企业带来负面的影响。虽说外观并不能代表什么,一套精美的设计起码能体现出企业的经济实力,至少,该企业是出得其钱的。当然对于网站设计师来说,设计的用心程度,自然取决于项目金额的大小、工期要求等。  2、企业实力展示  这里不同于形象展示,实力该如何展示?对于小企业来说,最简单方法就是告诉浏览者:我们是一个什么...

[转]企业网站首页设计常见的6种布局方式

在群里和大家交流时,看到太多的网页设计师发布企业站的个人作品,设计中总是摆脱不了大框套小框的设计布局思路,不加思索的跳入单一的网页布局形式中,于是就有了把企业站常用的页面布局方式总结一下的想法,让大家包括我自己全面的了解一下企业站的常见布局方式,做到对此种类型的网站布局心中有数,跳出狭隘、单一的设计思路,于是就有了这篇文章。很多人常常询问某个页面该如何布局这样的问题,其实网页布局也没有想象中那么难,只要做到两点我认为起码可以做到临阵不慌,一是对常见的布局方式心中有数,二是根据信息内容及设计素材的特点进行摆积木式的多次尝试。活不多说,下面就是我总结的企业站首页常用到的布局方法,共有六种。一、大框套小框的布局这种布局方式即是我在上面提到的常见的布局,不是说这种布局方式一无是处,但我们总不能只会这一种布局方式,次次套用吧?按照这种布局当然也可以做出来漂亮的设计,但毕竟方框限制的视线的扩展,如果客户要求做出大气的感觉,一般不会按照这种方式来布局,通常来讲,大气意味着开阔视野。二、通栏布局这种布局方式让视线不再受到方框的限制,比起上面的布局方式,自然多了些大气、开阔的味道来。另外,主视觉部分还可...

TP框架对数据库的操作

1.添加数据   1.1添加一条数据$user=newUser;$user->name='thinkphp';$user->email='thinkphp@qq.com';$user->save();$user=newUser;$user->save(['name'=>'thinkphp','email'=>'thinkphp@qq.com']);      1.2过滤非数据表字段的数据$user=newUser;//过滤post数组中的非数据表字段数据$user->allowField(true)->save($_POST);     1.3指定某些字段数据$user=newUser;//post数组中只有name和email字段会写入$user->allowField(['name','email'])->save($_POST);    &nb...
代码星球 代码星球·2021-02-15

ThinkPHP中框架查询

1.查询多条数据     1.1静态调用all方法或者select方法//获取所有数据all和select$list=User::all();//根据主键获取多个数据all和selectwhereidin(1,2,3)$list=User::all('1,2,3');$list=User::all([1,2,3]);//或者使用数组查询(只能用all不能用select)wherestatus=1$list=User::all(['status'=>1]);       1.2动态调用all方法或者select方法$user=newUser();//查询所有数据all和select$list=$user->select();//根据主键查询多条数据all和select$list=$user->select('1,2,3');$list=$user->select([1,2,3]);//或者使用数组查询(只能用all不能用select)$list=...
代码星球 代码星球·2021-02-15
首页上一页...89101112...下一页尾页