代码改变世界

随笔档案-2011年06月

【讨论】在领域对象里,是否应该存在Setter和Getter?

2011-06-24 20:25 by bugfly, 1617 阅读, 收藏,
摘要: 经过上篇【讨论】“转账功能”引发的“谜团”的讨论,获益良多,首先先感谢各位博友的看法,真是醍醐灌顶,在细品评论的同时,我觉得很有必要结合自身对各位博友评论的理解总结出一些什么来反馈一下,所以特此开多一篇文章来,集思广益。和上篇做法差不多,通过不同做法对比来展开讨论,要注意的是本篇的伪代码完全和上篇没有承接关系,内容上也没有绝对的联系。由于上一篇讨论之前我没有具体说明实现代码实之为伪代码,给部分博友带来不少疑虑,把关注点放到了具体实现上,本人表示十分愧疚!所以在开篇之前先声明:本文说明的代码全是伪代码,大家无需关注具体的实现细节~XD,废话少说,进入正题。本篇的讨论中心:在领域对象里,是否应该存 阅读全文

【讨论】“转账功能”引发的“谜团”

2011-06-22 20:30 by bugfly, 4944 阅读, 收藏,
摘要: 今天拿出了一个憋在心中很久的问题来和领域驱动群的群友讨论,经过几小时讨论,总体上来说还是不能解决我心中的疑惑,所以直接拿出来和博友们来讨论一翻,希望以博客园大家的见识来为我释怀。为了让大家对所讨论的问题达成共识,就拿一个比较经典的ATM转账功能实现来展开讨论。如果我直接说大家都转过账,这未免太绝对了,但我相信在生活中,每一个人都听过这个词,废话少说直接进正题。讨论的中心:如何从用例(功能)来精炼领域模型。大家先不要急着回答我的问题,先对比以下落来的3位同学的对“转账功能”的具体实现。1.甲君实现“转账”的代码评论:甲君这种实现方式,咋看上去并无问题,或许很多朋友也都是这样去实现转账功能的 阅读全文

Unity 在MVC上的应用(扩展篇:JQuery AJAX)

2011-06-16 19:21 by bugfly, 3301 阅读, 收藏,
摘要: 系列目录 Unity 在MVC上的应用(上:思路整理) Unity 在MVC上的应用(中:Repository) Unity 在MVC上的应用(下:ORM) Unity 在MVC上的应用(扩展篇:JQuery AJAX) Unity 在MVC上的应用(扩展篇:事务控制-前篇ActionFilter) Unity 在MVC上的应用(扩展篇:事务控制-后篇Unit Of Work) Unity 在MVC上的应用(扩展篇:日志管理NLog)正题回顾上几篇,我说过会在今后的扩展篇系列加入一些常用的技术,所以今天就说说在ASP.NET MVC上的JQuery AJAX应用。先来简单描叙一下两个用到的东西 阅读全文

【讨论二】服务层(Service)的功能参数列表的粒度

2011-06-12 13:21 by bugfly, 1717 阅读, 收藏,
摘要: 上篇【讨论二】服务层(Service)的功能参数列表的粒度 可能缺少代码段和图片,大家都不怎么来参与,所以在原有的基础上加入这些元素,希望大家能给点灵感我。我们一般在设计服务层的时候总会有这种情况,究竟参数列表是简单类型还是对象类型?首先我们从比较常见的场景入手,修改订单。这里我们先不考虑它是否应该归属于领域对象。根据场景很自然就能提炼出一个功能:EditOrder(XXX),我们开始看看参数列表的写法的种类。我大概想到3种。1.void EditOrder(string orderName,string orderText,float Money);2.void EditOrder(Ord 阅读全文

【讨论】服务层(Service)的功能参数列表的粒度

2011-06-12 11:19 by bugfly, 2034 阅读, 收藏,
摘要: 我们一般在设计服务层的时候总会有这种情况,究竟参数列表是简单类型还是对象类型?首先我们从比较常见的场景入手,修改订单。这里我们先不考虑它是否应该归属于领域对象。根据场景很自然就能提炼出一个功能:EditOrder(XXX),我们开始看看参数列表的写法的种类。我大概想到3种。1.void EditOrder(string orderName,string orderText,float Money);2.void EditOrder(Order order);3.void EditOrder(OrderDTO dto);先看看我对这三种设计的见解。第一种:很直观,也是最早被我们使用的方式,但这种 阅读全文

Unity 在MVC上的应用(下:ORM)

2011-06-02 22:24 by bugfly, 5554 阅读, 收藏,
摘要: 系列目录 Unity 在MVC上的应用(上:思路整理) Unity 在MVC上的应用(中:Repository) Unity 在MVC上的应用(下:ORM) Unity 在MVC上的应用(扩展篇:JQuery AJAX) Unity 在MVC上的应用(扩展篇:事务控制-前篇ActionFilter) Unity 在MVC上的应用(扩展篇:事务控制-后篇Unit Of Work) Unity 在MVC上的应用(扩展篇:日志管理NLog)技术点应用 1.ASP.NET MVC3(新东西绝对要用用XD) 2.引入IOC容器:Unity(非XML配置方式) 3.使用NHibernate 3.0(支持L 阅读全文