代码改变世界

Entity Framework 4 Poco开发之旅 part 1

2010-10-14 22:02 by 莫耶, 1447 阅读, 1 推荐, 收藏, 编辑
摘要:EF4会为每一个数据库连接生成一个数据容器,和一个数据关系映射XML文件(.edmx)。 数据容器继承自System.Data.Objects.ObjectContext,它拥有对连接和数据集(数据集ObjectSet对应数据库中的表)的描述,并以此为我们提供CRUD访问功能。 数据关系映射文件.edmx的结构设计颇为讲究,分为SSDL(存储模型简单直接介质层)、CSDL(概念模型简单直接介质层)、C-S mapping(存储-概念映射关系 )三大块。日常的维护更新表关系通过对.edmx的操作进行,在.edmx里的结构发生变化后,可调用T4模板,重新生成数据容器,以及与之关联的Poco对象群。 阅读全文

关于异步调用Discuz!NT接口

2010-05-12 19:07 by 莫耶, 1484 阅读, 0 推荐, 收藏, 编辑
摘要:最近在做Discuz!NT论坛与网站整合的东西,于是便用到了Discuz提供的Discuz! Toolkit 看了看源码,应该说这是个不错的工具库,提供了关于注册、登录、 文章、积分等论坛操作的一篮子功能,而且配备了对应的Wiki 只可惜,Discuz!NT终归是异构的系统,响应速度和突发异常并非如自己的代码一样可控,使用同步方式调用API就显得有那么些不智了 好在Toolkit是开源的,可以D... 阅读全文

[转]软件开发模型

2010-01-14 11:21 by 莫耶, 549 阅读, 1 推荐, 收藏, 编辑
摘要:软件开发模型是指软件开发全部过程、活动和任务的结构框架。软件开发包括需求、设计、编码和测试等阶段,有时也包括维护阶段。   软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务,用来作为软件项目工作的基础。 阅读全文

设计模式:Observer模式 之 互为观察者与被观察者

2010-01-12 13:31 by 莫耶, 644 阅读, 0 推荐, 收藏, 编辑
摘要:在现实世界中,没有单纯的观察者或者被观察者,大部分时候,一体两种角色兼备。一个小小的实验: ObserverCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--namespacewoodigg.DesignMode{///<summary>//... 阅读全文

一次OSIV调试经历

2009-11-27 16:43 by 莫耶, 2267 阅读, 2 推荐, 收藏, 编辑
摘要:spring.net有一种管理Session以用于lazy-load的模式:Open Session In View(OSIV),原理大致是:spring.net提供了一个HttpModule,“就是一个filter,每次request进来,就打开一个session放到ThreadLocal里,以后用到session就拿出来用,filter结束的时候,再清空ThreadLocal,关闭session” 阅读全文

Spring.net整合Lucene.net 实现全文检索(附例程)

2009-11-09 21:53 by 莫耶, 2716 阅读, 2 推荐, 收藏, 编辑
摘要:而Lucene.net便是Lucene在dot net平台上的移植版本。关于Lucene的一些概念,有兴趣的朋友可以参考这里。要实现Spring.net与Lucene.net的整合,关键点在于: 1、查询时,使用Spring.net集成的nHibernate来管理Lucene.net使用的Session; 2、对数据实体的CRUD进行事件监控,以便动态更新索引 经过一番尝试,决定将原有的框架进行升级——spring.net 1.2.0 + nHibernaet 2.0.1 + Lucene.net 2.0 + nHibernate.Search。 阅读全文

code smith模板改进——为实体自动添加数据源描述

2009-10-27 12:37 by 莫耶, 1244 阅读, 1 推荐, 收藏, 编辑
摘要:在 Spring.net Dao的改进——使用属性类描述实体数据源 中,我们借助属性类描述每一个实体,藉此实现Dao的精简。 接下来的问题便是,这些实体如果手写工作量还真不小,当然,也可以使用代码生成工具,比如 CodeSmith ,使用方法可参考 一文,这里要说到的是,使用codeSmith在实体模板中编写一些简单的程序语句,使生成的类文件就已经包含数据源的描述元标记(理论上可以无限扩展)。 阅读全文

Spring.net Dao的改进——使用属性类描述实体数据源

2009-10-23 16:44 by 莫耶, 2988 阅读, 2 推荐, 收藏, 编辑
摘要:终于告别一大堆名字不一样的Dao了,统统删掉,这样能让配置文件buessineConfig.xml瘦下来不少,看着舒服。也许看官您会问:如果对于特定的实体要实现事务呢 ——确实,这个Dao只是把通用的部分提炼出来,如果是个性化的操作,还是要单独创建操作类的。比如事务,创建一个基于接口实现的类,加上Transaction元标记,最后,在配置文件中指派Spring.net的某个AOP Proxy对象,让它来帮助你实现事务(在此向以前读过在下糙文的读者致歉,在spring.net中,Transaction元标记只是标注事务的范围,而具体的实现是基于 接口 及 接口切面代理对象 共同完成的) 阅读全文

.net企业级架构实战之7——Spring.net整合Asp.net mvc

2008-11-30 17:57 by 莫耶, 7550 阅读, 1 推荐, 收藏, 编辑
摘要:通过学习Fredrik Normén的经验:《ASP.Net MVC Framework - Create your own IControllerFactory and use Spring.Net for DI 》,我们能知道,要创建自己的ControllerFactory,必须实现System.Web.Mvc的 IControllerFactory接口…… 阅读全文

.net企业级架构实战之6——Spring.net管理web services

2008-11-21 12:14 by 莫耶, 3592 阅读, 0 推荐, 收藏, 编辑
摘要:ASP.NET用.aspx文件来保存表示层代码,用code-behind文件中的类保存应用逻辑,.aspx与类代码文件各有分工;但web服务却不同,Web服务的逻辑完全是在code-behind的类中实现的。.asmx文件并没有什么真正的用途,实际上,这个文件既没有必要存在、也不应该存在。 在将WebServiceFactoryHandler类注册为响应*.asmx请求的HTTP Handler之后,开发人员就可以在IoC容器中用标准的Spring.NET对象定义来发布Web服务 阅读全文