上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 16 下一页
摘要: 在我开发的《Byteart Retail》案例中,已经引入了领域事件(Domain Events)的实现部分,详情请见之前我写的一篇文章:《深度剖析Byteart Retail案例:领域事件(Domain Events)》。经过一段时间的学习和思考,对于领域事件的设计与实现也有了新的认识。在本文中,首先让我们一起了解一下Byteart Retail案例中领域事件的实现有哪些弊端,然后再对领域驱动设... 阅读全文
posted @ 2013-04-30 16:25 dax.net 阅读(9981) 评论(12) 推荐(5) 编辑
摘要: 关注我的朋友,相信一直会知道Apworks框架,它是我从2009年开始一直坚持开发的一套基于Microsoft .NET的面向领域驱动的应用程序开发框架,框架的源代码地址是:https://github.com/daxnet/Apworks。今天,我在Linux系统(CentOS 6.3)上成功编译了Apworks框架,大致写一下感受。Linux的.NET实现:Mono开源项目目前不支持MSMQ和Entity Framework(当然,据说EF开源以后,Mono就可以支持EF了,而且是6的版本,不过我在编译Apworks的时候,始终提示说无法找到System.Data.Entity程序集,即使 阅读全文
posted @ 2013-04-25 15:06 dax.net 阅读(1517) 评论(3) 推荐(2) 编辑
摘要: 在领域驱动设计(DDD)的案例中,仓储及其上下文都是开发人员学习和讨论的重点。对这两个内容的讨论,大致包含两个方面:第一个方面是有关仓储及其上下文在整个应用程序架构中的位置;第二个方面,则是仓储及其上下文的设计与具体技术实现。我将在本文中,结合Byteart Retail案例,对这两个内容进行讨论。 仓储及其上下文在整个应用程序架构中的位置 仓储是DDD中管理对象生命周期的一个重要组件。在面向... 阅读全文
posted @ 2013-04-24 16:49 dax.net 阅读(15487) 评论(45) 推荐(31) 编辑
摘要: 【注:本文已被收录到MSDN,详细地址:http://msdn.microsoft.com/zh-cn/library/dn155800.aspx】 在应用程序的开发过程中合理使用设计模式,不仅能够解决实际问题,提高开发效率,而且还能够让程序结构更为清晰合理,对达到“低耦合、高内聚”的设计目的有着很大的帮助。目前网上有很多介绍设计模式的文章,有的也自成体系,基本涵盖了GoF的所有模式,但大多数类... 阅读全文
posted @ 2013-04-15 11:47 dax.net 阅读(3073) 评论(10) 推荐(4) 编辑
摘要: 【本文翻译自Julie Lerman发表在MSDN Magazine上的一篇技术文章,原文题为《Shrink EF Models with DDD Bounded Contexts》。对自己英语比较自信的朋友可以直接在MSDN Magazine的在线文章收录中阅读原文。】 在使用Entity Framework(以下简称EF)来定义模型(Model)时,开发人员往往喜欢把应用程序中的所有模型对象... 阅读全文
posted @ 2013-03-22 20:31 dax.net 阅读(7692) 评论(32) 推荐(6) 编辑
摘要: MonoGame是XNA的一个开源实现,目前最新的安装版本是3.0,只需要到http://monogame.codeplex.com/releases/view/100041下载安装就行了,它支持Visual Studio 2010/2012的开发模板。事实上使用MonoGame的话是无需安装XNA的,但现在的问题是目前MonoGame还不支持Content的编译,比如无法将那些Sprite Font、Texture2D以及Audio编译成xnb的文件以供MonoGame使用。我的测试平台是Windows 7的,至于其它平台下是什么情况我也没去深究了。本文大致介绍一下在Windows 7下安装 阅读全文
posted @ 2013-02-26 21:44 dax.net 阅读(4544) 评论(20) 推荐(3) 编辑
摘要: 本文将对AOP拦截在Byteart Retail中的应用进行分析和介绍,同时会介绍AOP两个应用的具体实现方式,即异常处理与缓存机制的实现。 背景 就一个企业级应用程序而言,实现它的主要目的就是为了解决企业生产过程中出现的实际问题,比如数据问题、管理问题等。因此,应用程序的核心部分就应该是与企业业务相关的部分,也就是我们平时经常提到的“领域模型”。在进行领域模型的建模过程中,根据领域驱动的经验... 阅读全文
posted @ 2013-02-22 20:25 dax.net 阅读(5920) 评论(17) 推荐(10) 编辑
摘要: 写在前面:之前,我有发布一篇题为《暂别博客园》的文章,在发布之后,得到了很多读者朋友的反馈意见,很多朋友希望我能够继续在博客园中撰写文章,综合考虑,我仍打算继续在博客园发表文章。同时会将文章收集到我的个人站点apworks.org上,欢迎读者朋友参阅。 【注:本文已被收录到MSDN,详细地址:http://msdn.microsoft.com/zh-cn/library/739776d1-50e... 阅读全文
posted @ 2013-02-16 23:25 dax.net 阅读(6987) 评论(12) 推荐(15) 编辑
摘要: 入驻博客园已经快三年了,在这三年的日子里,博客园伴随着我不断成长,让我学到了很多东西,也通过博客园的平台让我结识了很多圈子里优秀的专业人士;我也不断地认真学习思考,帮助业内人士解决.NET企业级应用架构上的难题,也得到了很多朋友的认可赏识,这都离不开博客园为我们提供的交流平台,真的非常感谢博客园!也正是博客园和站长dudu的大力支持,才让我能够有机会跻身于微软MVP之列,所以,千言万语都不能表达我对博客园的感情。然而,是时候与博客园暂别了,我真的不想用“告别”之类的词语,因为,希望今后仍然能够重逢!每个人都有自己的理想,这是很平常的事情,有理想就会有精神,人才会有着为之奋斗的目标。我当然也不例 阅读全文
posted @ 2013-02-16 08:08 dax.net 阅读(2720) 评论(18) 推荐(7) 编辑
摘要: 为了便于阅读,我将该系列文章汇总于此,欢迎广大软件架构设计和领域驱动设计(DDD)的爱好者翻阅。此处的文章排序是根据整个项目的架构分层来的:首先是与基础结构层(Infrastructure)相关的话题,然后是领域层(Domain),再是应用层(Application)和表示层(Presentatio 阅读全文
posted @ 2013-01-05 15:49 dax.net 阅读(9413) 评论(32) 推荐(8) 编辑
摘要: 当系统中的组件需要调用某一服务来完成特定的任务时,通常最简单的做法是使用new关键字来创建该服务的实例,或者通过工厂模式来解耦该组件与服务的具体实现部分,以便通过配置信息等更为灵活的方式获得该服务的实例。然而,这些做法都有着各自的弊端:在组件中直接维护对服务实例的引用,会造成组件与服务之间的关联依赖,当需要替换服务的具体实现时,不得不修改组件中调用服务的部分并重新编译解决方案;即使采用工厂模式来根据配置信息动态地获得服务的实例,也无法针对不同的服务类型向组件提供一个管理服务实例的中心位置由于组件与服务之间的这种关联依赖,使得项目的开发过程受到约束。在实际项目中,开发过程往往是并行的,但又不是完 阅读全文
posted @ 2013-01-05 15:37 dax.net 阅读(6136) 评论(15) 推荐(2) 编辑
摘要: 在最近的一次代码签入中,Byteart Retail已经可以支持领域事件(Domain Events)的定义和处理了。在这篇文章中,我将详细介绍领域事件机制在Byteart Retail案例中的具体实现。在进行领域建模的时候,我们就已经知道保证领域模型纯净度的必要性。简而言之,领域模型中的各个对象都应该是POCO(POJO)对象,而不应向其添加任何与技术架构相关的内容。Udi Dahan曾经说过:“The main assertion being that you do *not* need to inject anything into your domain entities. Not s 阅读全文
posted @ 2012-12-27 20:19 dax.net 阅读(13872) 评论(29) 推荐(16) 编辑
摘要: 经过几天的努力,我将Apworks框架和Byteart Retail案例搬迁到了著名的GitHub上,地址如下: Apworks:http://github.com/daxnet/Apworks Byteart Retail:http://github.com/daxnet/ByteartRetail 今后的更新都会在这两个portal上进行,原来在codeplex上的项目将不继续更新。 另外... 阅读全文
posted @ 2012-12-08 11:52 dax.net 阅读(3244) 评论(16) 推荐(0) 编辑
摘要: 随着几个版本的更新,Apworks框架也日趋成熟。为了能够让开发人员更加方便地使用该框架进行企业级应用程序的开发,在维护框架本身的同时,我也致力于与其配套的工具软件和Visual Studio插件的研究和开发。在Apworks的最新版本中,已经添加了分别面向NHibernate和Entity Framework的WCF服务开发项目模板,但这个模板还很不完善,扩展性也不好(比如框架本身还支持Mong... 阅读全文
posted @ 2012-11-21 11:32 dax.net 阅读(3968) 评论(14) 推荐(8) 编辑
摘要: 背景Byteart Retail是一个面向领域驱动的.NET企业级应用架构设计案例,到目前为止已经发布了三个版本。有关这三个版本的详细介绍,请参考以下几个链接:V1:《EntityFramework之领域驱动设计实践【后续篇】:基于EF 4.3.1 Code First的领域驱动设计实践案例》V2:《Byteart Retail V2 - 基于Entity Framework Code First的领域驱动设计实践案例》V3:《Byteart Retail V3 - 全新的面向.NET与领域驱动设计的企业应用实践案例》为了向读者朋友详细介绍Byteart Retail项目,我打算写一个系列专题 阅读全文
posted @ 2012-11-13 15:59 dax.net 阅读(8954) 评论(21) 推荐(14) 编辑
摘要: 经过近一个多月的努力,我使用自己的业余时间在V2的基础上对Byteart Retail案例重新打造,使得V3以一种全新的面貌出现在关注.NET企业级架构和领域驱动设计的读者朋友面前。与前两个版本相比,V3无论在界面上,还是在业务方面,甚至是技术方面都有了很大的进步。虽然系统完善了不少,但毕竟我没办法将全部时间精力都投入在这一开源项目上,所以V3肯定还存在不少缺陷,因此希望朋友们能够谅解,如果遇到问题,可以自己试着研究并动手解决,我想这样会对自己有很大的帮助。如果实在无法解决,或者有好的想法和建议,也欢迎在此留言与我联系。对Byteart Retail不太了解的朋友,可以点击下面的链接以了解前两 阅读全文
posted @ 2012-11-08 15:24 dax.net 阅读(10345) 评论(79) 推荐(34) 编辑
摘要: 本文翻译自领域驱动设计官方网站的一篇实践性论文,原文题为《IAnticorruption – A Domain-Driven Design Approach To More Robust Integration》,我觉得这篇论文写得很不错,实践性非常强,通过对一个真实项目的研究,并结合整个团队在项目实践上的经验,总结了领域驱动设计在系统集成方面的指导作用:通过防腐层的引入,改善现有的系统集成架构,... 阅读全文
posted @ 2012-08-30 09:22 dax.net 阅读(13102) 评论(13) 推荐(16) 编辑
摘要: 周末抽空简单地对Apworks框架所支持的三种仓储实现:Entity Framework、NHibernate以及MongoDB进行了性能基准测试,并对其结果进行对比。从对比的结果来看,MongoDB仓储的性能要远胜于其它两者。基准测试采用的是我在两年前开发的一个基于Visual Studio Unit Test Framework的基准测试程序(名为:Visual Benchmark),该程序可... 阅读全文
posted @ 2012-07-31 08:22 dax.net 阅读(3977) 评论(11) 推荐(11) 编辑
摘要: 概述 在企业级应用程序中,存储部分的技术选型是多样化的,开发人员可以根据应用的具体情况来选择合适的存储技术,比如关系型数据库或者文档数据库、对象数据库等。为此,Apworks也从框架级别对Repository的定制和二次开发进行支持,目前默认地提供三种Repository的实现:NHibernate Repository、Entity Framework Repository和MongoDB Re... 阅读全文
posted @ 2012-07-23 22:41 dax.net 阅读(3519) 评论(16) 推荐(5) 编辑
摘要: 今天我发布了新版本的Apworks,版本号为:2.5.4563.21309。有兴趣和有需要的朋友可以直接到Apworks官方站点下载最新的安装程序或源代码。功能更新Apworks 2.5.4563.21309包含了以下功能更新:支持Visual Studio 2010的项目模板以及相关说明书(中英文两个版本),下文会对其进行介绍将整个框架的ID类型由System.Long换成System.Guid新增WcfPerRequestLifetimeManager添加基于Entity Framework Code First的仓储实现仓储中添加了“饥饿加载”功能,用于在懒加载(Lazy Loading 阅读全文
posted @ 2012-06-30 13:00 dax.net 阅读(6085) 评论(29) 推荐(7) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 16 下一页