- 博客(153)
- 资源 (10)
- 收藏
- 关注

原创 深度剖析Byteart Retail案例【前言】
背景Byteart Retail是一个面向领域驱动的.NET企业级应用架构设计案例,到目前为止已经发布了三个版本。有关这三个版本的详细介绍,请参考以下几个链接:V1:EntityFramework之领域驱动设计实践【基于EF 4.3.1 设计实践】V2:EntityFramework之领域驱动设计实践【Byteart Retail V2】V3: 《为了向读者
2014-02-07 08:59:11
1351

原创 EntityFramework之领域驱动设计实践【前言】
写在前面其实这系列文章已经被很多网友转载过了,我自己也在前面的博客中给出了原文的链接。但毕竟博客园的人气更旺,加上不少网友强烈要求我把文章转贴到博客园,因此最终下定决心,将这系列文章重新整理并转贴在博客园上。根据网友的讨论结果,以及自己在实践中的不断积累,在整理的过程中,我会将原文中的描述作相应调整。不仅如此,也有不少关心领域驱动设计的网友在原文的评论栏目中提了问题或作了批注,我也针对网友
2014-01-30 19:14:54
1757

原创 Microsoft NLayerApp案例理论与实践【简介与环境搭建】
项目简介Microsoft – Spain团队有一个很不错的“面向领域多层分布式项目”案例:Microsoft – Domain Oriented N-Layered .NET 4.0 App Sample(在本系列文章中,我使用NLayerApp作为该项目的名称进行介绍),在codeplex上的地址是:http://download.youkuaiyun.com/detail/zhixiang2010/
2014-01-28 08:53:23
2019

原创 使用Apworks开发基于CQRS架构的应用程序【前言】
在Apworks框架发布Alpha版本的时候,我已经针对其开发案例:Tiny Library CQRS写了Walkthrough文档,地址是:http://apworks.org/custom/documents/wlkthr_BuildAppsUsingApworks/。为了走国际化道路,这篇文章是全英文的,社区里有不少网友表示难以理解。趁着这几天不算很忙,我抽空将其又翻译回中文,并加入更多
2014-01-27 08:25:22
1304

原创 CQRS体系结构模式实践案例【Tiny Library简介】
写在前面有段时间没有更新博客了,一方面因为工作繁忙,另一方面则是我最近一直在坚持设计和完善基于DDD的应用系统开发框架Apworks。读过我《领域驱动设计案例:Tiny Library》这一系列文章的朋友一定听说过Apworks框架,虽然这个框架至今仍未成熟到能够用在真正的系统开发上,但它已经实现了CQRS体系结构模式,已经可以用于软件架构设计的演示上了。从这一讲开始,我将逐步介绍如何采用
2014-01-26 08:26:34
1641

原创 领域驱动设计案例【Tiny Library简介】
应广大网友的要求,我最近抽空基于ASP.NET MVC + WCF + Entity Framework做了一个案例,该案例以图书馆图书管理、读者借书、还书为业务背景,以领域驱动设计为思想指导,全程采用Microsoft技术进行实践,希望能够给Microsoft技术的狂热者以及领域驱动设计的学者提供实践参考。本案例选用的业务逻辑非常简单,所以项目取名上我选用了“Tiny Library”,在后
2014-01-25 13:54:16
1873

原创 Spring框架学习【基础知识】
1.在java开发领域,Spring相对于EJB来说是一种轻量级的,非侵入性的Java开发框架,曾经有两本很畅销的书《Expert one-on-one J2EE Design and Development》和《Expert one-on-one J2EEdevelopment without EJB》是java高手进阶必看的宝典,Spring就是从这两本书的理论发展起来的。Spring主要
2014-01-17 12:36:43
2044

原创 深入理解java虚拟机【Java内存结构】
ava虚拟机规范规定的java虚拟机内存其实就是java虚拟机运行时数据区,其架构如下:其中方法区和堆是由所有线程共享的数据区。Java虚拟机栈,本地方法栈和程序计数器是线程隔离的数据区。(1).程序计数器:是一块较小的内存空间,其作用可以看作是当前线程所执行的字节码的行号指示器,字节码解析器工作时通过改变程序计数器的值来选取下一条需要执行的字节码指令。程序
2014-01-14 15:40:22
1133

原创 高手速成android开源项目【导航篇】
Android开发又将带来新一轮热潮,很多开发者都投入到这个浪潮中去了,创造了许许多多相当优秀的应用。其中也有许许多多的开发者提供了应用开源项目,贡献出他们的智慧和创造力。学习开源代码是掌握技术的一个最佳方式,这些项目不仅提供了优秀的创意,也可以直接掌握 Android内核的接口使用
2014-01-09 09:17:33
2473
1

原创 Android UI开发【开篇导航】
如今移动互联网正处于飞速发展的时期,正式看中这个行业的发展势头,本人在2011年从.NET转行做了移动应用开发这块,接触了android和ios开发,到今已快3个年头,先前忙于学习各种基础知识和语法方面的东西,没有闲暇时间写博文。现在终于能空闲一下时间下来写写博文了。以后主要针对android界面开发和通用框架写一系列的文章。 界面开发(即UI)对于一个移动APP来说是至关重要的,UI客
2014-01-06 15:02:38
1240

原创 数据库优化实践【MS SQL优化开篇】
数据库定义: 数据库是依照某种数据模型组织起来并存在二级存储器中的数据集合,此集合具有尽可能不重复,以最优方式为特定组织提供多种应用服务,其数据结构独立于应用程序,对数据的CRUD操作进行统一管理和控制,数据库是数据管理的高级阶段,是在文件系统上发展起来的。 基本结构: 数据库分三个层次:分别为物理数据层、概念数据层、逻辑数据层。 物理数据层:它是数据库的最内层,是物理存贮
2014-01-06 09:14:43
1292

原创 JAVA面试精选【Java基础第一部分】
这个系列面试题主要目的是帮助你拿轻松到offer,同时还能开个好价钱。只要能够搞明白这个系列的绝大多数题目,在面试过程中,你就能轻轻松松的把面试官给忽悠了。对于那些正打算找工作JAVA软件开发工作的童鞋们来说,当你看到这份题目的时候,你应该感动很幸运,因为,只要你把题目中的内容都搞懂了,在笔试的时候就可以游刃有余,通过面试只有半步之遥了,笔试只能反映你的JAVA技能。不管你是面试各个级别的JAVA工程师、架构师、还是项目经理,这个系列文章都是你最宝贵的资源,里面包括整个JAVA体系的知识,总会有你需要的内容
2013-12-25 23:55:16
1552

原创 软件工程之系统建模篇【开卷有益】
开篇简述 博客自从大学毕业就开通了,到现在还没发布什么博文,以前不喜欢写博客,但是后来发现写文章其实也是自我提升一个方式,现在的工作不是很忙,趁此机会,写一些文章。此软件工程系统建模系列,以自己在工作中开发OA的系统为参考,结合UML语言来讲述办公自动化系统建模过程,篇幅大概20篇左右。本文作为开篇,主要简述相关的概念和这个系列的索引,由于本人技术和表述能力有限,错误之处在所难免,通过本系列
2013-12-21 10:06:26
1255
原创 Android界面篇【右上角带个泡泡】
一个网友问到“一个新消息Button按钮,上边浮着一个泡泡形状提示有几条新消息!”是怎么实现的,我这简单写了一下,其实就是view的组合。[html] view plaincopyprint? ?xml version="1.0" encoding="utf-8"?> LinearLayout xmlns:android="http://sc
2014-02-16 09:54:14
1471
1
原创 Android界面篇【锁屏效果】
参考了android系统中的实现方法,效果如下: 代码下载地址:http://www.devdiv.com/forum.php?mod=viewthread&tid=77975&highlight=UI%BF%AA%B7%A2%B5%DA%CA%AE%C6%AA%A1%AA%A1%AA%CB%F8%C6%C1%D0%A7%B9%FB
2014-02-16 09:53:21
1216
原创 Android界面篇【SlidingDrawer 抽屉效果】
SlidingDrawer是自SDK 1.5才新加入的,实现Launcher的抽屉效果。SlidingDrawer配置上采用了水平展开或垂直展开两种(android:orientation)方式,在XML里必须指定其使用的android:handle与android:content,前者委托要展开的图片(Layout配置),后者则是要展开的Layout Content。
2014-02-16 09:52:19
1407
原创 Android界面篇【ViewFlipper 左右滑动效果】
怎么实现Android主页面的左右拖动效果。其实实现起来很简单,就是使用ViewFlipper来将您要来回拖动的View装在一起,然后与GestureDetector手势识别类来联动,确定要显示哪个View,加上一点点动画效果即可。java code:public class TestFlip extends Activity implements OnGestureListe
2014-02-16 09:51:25
1378
原创 Android界面篇【Android Gallery】
新建项目② 定义layout外部resource的xml文件,用来改变layout的背景 Gallery"> 复制代码③ 修改main.xml布局,添加一个Gallery和一个ImageView
2014-02-16 09:49:55
1101
原创 Android界面篇【仿QQ的滑动Tab】
代码下载地址:http://www.devdiv.com/thread-101454-1-1.html使用了ActivityGroup。[java] view plaincopyprint?public class MainActivity extends ActivityGroup { pri
2014-02-15 09:54:42
1228
原创 Android界面篇【自定义列表】
自定义列表,设置列表背景、列表的列背景、列表的间隔线。借鉴了一些前辈的代码。MainActivity.classpublic class MainActivity extends Activity {@Override public void onCreate(Bundle savedInstanceState) { super.onCr
2014-02-15 09:53:17
1337
原创 Android界面篇【实现气泡短信样式】
今晚有点时间把断了很长时间的UI开发补一下,这次实现的是像handcent sms或者chomp sms那样的气泡短信样式,也是iphone上的气泡聊天模式。实现这种效果的重点是ListView的divider和listSelector。先看一下效果图。 给代码:(1)listview: android:orientation="vertical"
2014-02-15 09:51:26
2066
原创 Android界面篇【popupwindow】
PopupWindow在android.widget包下,弹出窗口的形式展示。官方文档对该控件的描述是:“一个弹出窗口控件,可以用来显示任意视图(View),而且会浮动在当前 活动(activity)的顶部”。PopupWindow可以让我们实现多种自定义控件,例如:menu、alertdialog等弹窗似的View。 popupwindow需要在onCreate时初始化、通
2014-02-15 09:49:51
1008
原创 Android界面篇【android的九宫格式实现】
今天在devdiv论坛里看到有坛友问到九宫格的实现,我把我在项目中用的经验分享一下。代码地址:http://download.youkuaiyun.com/detail/xyz_lmn/5151879xml代码: xmlns:app="http://schemas.android.com/apk/res/com.google.android.gx5wea
2014-02-15 09:49:04
1458
原创 在Windows Azure虚拟主机上宿主Byteart Retail案例程序
这两天将Byteart Retail案例程序宿主到了Windows Azure虚拟主机上。基本步骤是:在Windows Azure管理器中,新建一台虚拟主机,我选择的配置是最高版本的Windows Server加上基本可以说是最烂的硬件配置: Windows Server:Windows Server 2012 Datacenter Edition 硬件配置:Small(1 c
2014-02-11 16:05:32
1146
原创 领域驱动设计中面向经典分层架构的领域事件的设计与实现
在我开发的《Byteart Retail》案例中,已经引入了领域事件(Domain Events)的实现部分,详情请见之前我写的一篇文章:深度剖析Byteart Retail案例【领域事件】。经过一段时间的学习和思考,对于领域事件的设计与实现也有了新的认识。在本文中,首先让我们一起了解一下Byteart Retail案例中领域事件的实现有哪些弊端,然后再对领域驱动设计中领域事件的设计与实现
2014-02-11 16:04:43
1742
原创 深度剖析Byteart Retail案例【基于MongoDB的仓储实现】
今天花了半天时间,向Byteart Retail案例加入了基于MongoDB的仓储实现,读者朋友可以直接从Byteart Retail的代码库克隆最新代码来使用基于MongoDB的仓储实现。实现步骤1、重构ByteartRetail.Domain.Repositories目录结构本来这一步是不需要做的,但是因为之前没有把结构规划好,所以所有基于Entity Framew
2014-02-11 16:00:59
1564
原创 深度剖析Byteart Retail案例【仓储及其上下文】
在领域驱动设计(DDD)的案例中,仓储及其上下文都是开发人员学习和讨论的重点。对这两个内容的讨论,大致包含两个方面:第一个方面是有关仓储及其上下文在整个应用程序架构中的位置;第二个方面,则是仓储及其上下文的设计与具体技术实现。我将在本文中,结合Byteart Retail案例,对这两个内容进行讨论。仓储及其上下文在整个应用程序架构中的位置仓储是DDD中管理对象生命周期的一个重要组件
2014-02-11 15:54:23
1916
原创 深度剖析Byteart Retail案例【领域事件】
在最近的一次代码签入中,Byteart Retail已经可以支持领域事件(Domain Events)的定义和处理了。在这篇文章中,我将详细介绍领域事件机制在Byteart Retail案例中的具体实现。在进行领域建模的时候,我们就已经知道保证领域模型纯净度的必要性。简而言之,领域模型中的各个对象都应该是POCO(POJO)对象,而不应向其添加任何与技术架构相关的内容。Udi Daha
2014-02-11 15:52:21
1715
原创 介绍一款好用的基于.NET的配置文件设计工具
在进行框架开发的过程中,我们往往需要对配置文件的结构进行设计,以便产生一套完整的配置方案,供开发人员在使用框架时能对框架进行配置。对于某些大型的框架,其配置节点的结构可能相当复杂,比如某个配置节点(Configuration Element)可以有属性,还可以在其下挂载多个其它的配置节点或者多个配置节点集合(Configuration Element Collection)。如果使用手动编写代码的
2014-02-07 09:13:45
232
原创 深度剖析Byteart Retail案例【应用程序的配置】
Byteart Retail提供了相对简单的配置方式:对于应用程序中所需要的参数,都是通过web.config文件进行配置的。这一点与框架系统的配置不同。框架系统至少应该提供两种配置方式:直接编写代码的方式,以及web/app.config的方式,这是为了迎合不同的使用场景而设计的。因为作为一套框架而言,它为应用程序的正确运行提供了支撑平台,因此,它需要向开发者提供直接编写代码的配置方式,以迎合测
2014-02-07 09:12:27
1229
原创 深度剖析Byteart Retail案例【AOP异常处理与缓存】
本文将对AOP拦截在Byteart Retail中的应用进行分析和介绍,同时会介绍AOP两个应用的具体实现方式,即异常处理与缓存机制的实现。背景就一个企业级应用程序而言,实现它的主要目的就是为了解决企业生产过程中出现的实际问题,比如数据问题、管理问题等。因此,应用程序的核心部分就应该是与企业业务相关的部分,也就是我们平时经常提到的“领域模型”。在进行领域模型的建模过程中,根据领域驱动的经验
2014-02-07 09:10:40
1171
原创 深度剖析Byteart Retail案例【服务定位器模式】
当系统中的组件需要调用某一服务来完成特定的任务时,通常最简单的做法是使用new关键字来创建该服务的实例,或者通过工厂模式来解耦该组件与服务的具体实现部分,以便通过配置信息等更为灵活的方式获得该服务的实例。然而,这些做法都有着各自的弊端:在组件中直接维护对服务实例的引用,会造成组件与服务之间的关联依赖,当需要替换服务的具体实现时,不得不修改组件中调用服务的部分并重新编译解决方案;即使采用
2014-02-07 09:06:39
1398
原创 面向.NET与领域驱动设计的企业应用实践案例【Byteart Retail V3】
经过近一个多月的努力,我使用自己的业余时间在V2的基础上对Byteart Retail案例重新打造,使得V3以一种全新的面貌出现在关注.NET企业级架构和领域驱动设计的读者朋友面前。与前两个版本相比,V3无论在界面上,还是在业务方面,甚至是技术方面都有了很大的进步。虽然系统完善了不少,但毕竟我没办法将全部时间精力都投入在这一开源项目上,所以V3肯定还存在不少缺陷,因此希望朋友们能够谅解,如果遇到问
2014-02-07 09:01:47
2141
原创 VS2010中使用Modeling Project定制DSL以及自动化代码生成
从Visual Studio 2010开始,有一个Modeling Project的项目模板,允许应用程序设计人员通过该项目完成统一的UML模型设计。与Visual Studio 2008 DSLTools相比,通过Modeling Project创建出来的UML模型对象,能够被使用到各个不同的UML视图中,这一功能是由UML Model Explorer维护的。我们可以看到,相同的UML模型对象
2014-02-06 10:02:00
2340
原创 EntityFramework之领域驱动设计实践【总结】
是时候总结一下本系列文章了。还是应该自我批评一下,由于个人杂事多,加上工作繁忙,整个系列文章弄了大半年才断断续续写完。在撰写文章的过程中,也得到了大家的理解与支持,并让更多的朋友开始关注领域驱动设计,很是感激!在接下来的其它博文中,我将继续讨论领域驱动设计的实践经验。本系列文章首先从领域驱动设计的基础思想出发,讨论了基于.NET EntityFramework的领域驱动设计经验,这包括对实体、
2014-02-06 09:36:02
1582
原创 EntityFramework之领域驱动设计实践【Byteart Retail V2】
在《EntityFramework之领域驱动设计实践【后续篇】:基于EF 4.3.1 Code First的领域驱动设计实践案例》一文中,我给出了一个基于Entity Framework 4.3.1 Code First的领域驱动设计实践案例:Byteart Retail。此案例得到了广大读者朋友的关注,也有很多网友针对案例中的各种实现技术进行提问,我也基本上一一回答了大家的疑问。为了能够更好
2014-02-06 09:35:11
1858
原创 EntityFramework之领域驱动设计实践【基于EF 4.3.1 设计实践】
两年前我在博客中发布了《EntityFramework之领域驱动设计实践》系列文章,也得到了广大读者朋友的关注,在完成了系列文章的总结之后,也一直没有这部分内容的更新了。现在,Entity Framework的稳定版(就是那个Stable的版本,不是Entity Framework 5的beta版本)4.3.1已经逐步应用到各种.NET项目中,为了演示Entity Framework 4.3.1
2014-02-06 09:33:04
1933
原创 EntityFramework之领域驱动设计实践【CQRS体系结构模式】
本文将对CQRS(Command Query Responsibility Segregation,命令查询职责分离)模式做一个相对全面的介绍。可以这么说,CQRS打破了经典的领域驱动设计实践,在应用CQRS的整个过程中,你将会以另一种不同的角度去考虑问题并寻求解决方案。比如,CQRS是事件驱动的体系结构,事件是如何产生如何分发又是如何处理的?事件驱动的体系结构适用于哪些类型的应用系统?CQRS中
2014-02-06 09:31:50
2493
原创 EntityFramework之领域驱动设计实践【服务Services】
从本讲开始,所涉及的DDD话题可能与EntityFramework关系不大了。网友千万别骂我是标题党,呵呵。由于这部分内容并非是特定于EntityFramework的,更多的是在介绍模式及实践心得,所以EntityFramework的内容就会偏少了。为了使得针对一些话题的讨论能够延续下去,我仍然将这些文章安排在本系列中,希望读者朋友能够谅解。我也在标题中标注了【扩展阅读】,表示所讨论的内容已经不仅
2014-02-05 21:02:23
1521
DevExpress 13.1.8汉化文件+双重完美破解可发布 支持VS2013
2014-03-19
解析极限编程中文完整版
2014-01-04
Microsoft NLayerApp案例理论与实践
2013-12-30
sqljdbc安装程序,解决JAVA连接MSSQL数据报错问题
2013-12-25
EJB3.0入门经典中文版
2013-12-25
企业应用架构模式中文版 PDF
2013-12-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人