想起了Domain-Driven Design…

前两天在做项目时,和同事在一个Service类的命名上争执起来。他们想取个比较general的,我则想起个更有意义的,然后就想起来了domain-driven design里的一起典型的Service,如Factory, Repository等。

领域驱动设计

在接触DDD之前,我有很多困惑。在学习了Eric Evans的领域驱动开发之后,我奉它为银弹。开发像我们公司这种有复杂业务逻辑软件,DDD就是解决之道。这几年的工作中,虽然不是100%的用DDD中的实践方法,但也吸收了很多精髓,如:

  • 加强开发人员与业务人员的沟通,注意业务知识的积累,统一语言
  • 软件分层设计,各有职责(目前这个做的最好, 🙂 )
  • 模型的持续精化,与时俱进
  • DDD有一些设计的最佳实践,如Service,Entity,Value Object,真的很好很强大。

当然,开发中还是有别的问题,主要还是提升产品的质量和降低维护的成本。想做的就是把”活文档“引入进来,加强自动化的测试。

最后分享一下我当时做的PPT。

美国50 state quarter收集攻略

前言

这也是一篇2009年写在CSDN上的文章,今天搬到这个新家。 🙂

原文

今年7月, 我有机会到美国出差, 为期3个月. 在出发之前, 就有同事对我说可以收集一下美国50个州的Quarter. 我开始并没有当回事, 觉得这个Task应该很困难吧.

开始的一个月, 这件事根本没有放在心上. 一是本来就觉得这是Mission Impossible, 二是确实没什么机会得到Quarter, 大部分使用信用卡. 同去的几个同事只零星的得到几个Quarter. 后来又经过几次换钱, 我大约得到了7, 8个不同的硬币. 那会我就看到了点希望, 然后就一发不可收拾, 最终是胜利完成. 下面简单总结一下快递收集的方法.

0. 了解一些背景知识

你可以先去网上搜索一下和这种Quarter相关的信息. Wikipedia 是个不错的选择.

1. 准备”弹药”

想得到50枚不同的硬币, 自然至少要有50枚Quarter. 方法如下:

  • 银行, 可以一次换很多(我没去过, 听同事说的)
  • 超市, 我遇到的店员都很NICE, 只要有Quarter, 都给换. 我基本使用此法.
  • 自动贩卖机. 如果你不想麻烦别人的话, 那就去买点喝的吧, 它会找你些change的. 此法缺点很多, 不推荐!

2. 如何得到硬币

这个是关键了! 在美国的Quarter有几种不同的样式, 发行最多就是”秃鹰”的, 然后是州Quarter, 还有一些其他样子(零星见过一些). 怎么能很快得到50枚不同的Quarter呢? 几种方法:

  • 不断去银行或超市换钱. 硬币发行量是有比例的, 多换几次钱自然会有得到想要的. 整->零->整… OK, 你知道我什么意思, :). 这招有点太麻烦人!
  • 呵呵, 不想麻烦人, 就找机器吧. 还是自动贩卖机! 我是在没人告诉我的情况下, 偶然发现自动贩卖机是可以帮你换钱, 就是说你投进去的硬币和当你取消的时候退出的硬币是不相同的. (后来才知道好多人都知道). 此招一出, 就可以只麻烦机器和自己了! 买->取消->买->取消…, 如会得到你想的硬币.
  • 询问同事! 一定不要小看这个方法, 因为到最后当你只剩一两枚的时候, 贩卖机的成功率是很低的. 这时同事就会起到关键性的作用. 人多力量大嘛!

我基本是通过第二种方法得到了全部50枚硬币(据说还有更细的化分, 一共有4套, 也就是200枚, 真的没心情了).

3. 注意事项

  • 一定要多找一些自动贩卖机. 一台里面的硬币是有限的, 多找一下概率大很多.
  • 在投硬币之前, 一定要看清贩卖机是不是明显不能工作的. 唉, 我吃过一次亏, 被吞了1.25$. 大家一定看清楚.
  • 即使你看清楚了, 但机器一样不一定工作, 会吞掉你投的硬币或是不能取消. 呵呵. 这就听天由命吧!
  • 大部分的Vending Machine都是可以工作的!

4. 收集完之后做什么

当你全部收集完成之后, 你就去Amazon上买一个收藏夹吧, 7~8$. 总比堆在一起好. 像我这样:

5. 总结

我们同去3人, 使用的全是我提到的方法, 最慢的1个月半(我, Alabma州那枚我找了3个星期, 最后在LA找到了), 最快的1~2周(那人运气很好!), 都全部得到了所以有Quarter.

如果你在美国停留时间不长, 又想收集的话, 我的攻略可以做个参考! Wish you good luck! 🙂

又要去“拥抱变化”了!

最近的很多事情让人越来越觉生活和工作中到处都是变化,而且变化还挺快,个人无法控制!

项目组又要平移到一个新的技术平台。那是另一个海外Team打造的,很多技术都不一样。比如再从Web端换到桌面端,后端也换成了EJB和Oracle DB,创建工具也换了Maven,总之好多变化。

程序员总爱美其名曰“拥抱变化”,可变化真来的,谁也不喜欢吧!新的技术要学,新的工具要去适应,大量的时间要重新投入。好在对这些东西还有很大的兴趣,努力吧!

BTW,仔细想想不管哪个行业,都有很多变化吧,只是程序员叫得响罢了!

感受Web开发

最近一两个月一直在学习Web开发的相关技术,如HTML,CSS,JavaScript等技术,进度不是太快,总的感觉和这几年从事的传统桌面开发有很大的差别,有一些感触很大:

  • 不同的技术分工非常明确,层次非常清晰。HTML、CSS负责页面的结构和样式;JavaScript负责提供强大的灵活性;像Java这样的高级语言可以提供强大的框架,如Spring,支撑起整个应用。
  • 很多技术已经非常成熟。HTML 5, CSS 3已经渐渐成为业界的新标准,真得可以做出非常非常fashion的界面,JavaScript则有一些非常棒的Library,如jQuery,大大提高了生产力;后端支撑的Spring等库也非常成熟。整体来说,技术风险很小。

Team的优势,

  • 大部分人有丰富的传统的桌面经验,很多通用的思想已经准备好!
  • 老员工的学习能力很强,且愿意学习!

当然目前也有很多急需解决的问题,

  • Web的技术要学习!Team里只有老大一人对整个Web开发非常熟悉,大部分人都是半吊子,学习要一个过程,慢慢培养这方面的感觉。
  • 需要引入业界的最佳实践,打算到问问老同事和到论坛里发发帖子。

路漫漫,不知道有没有机会把这个项目完整的做完,尽力吧! 😎

老罗语录转载

用了两个晚上,看了老罗去年和今年的演讲,话说得很精彩,很有智慧,也很真实,做得事也厚道,人性,大气。我相信他老人家终有一天能成功。虽然不能千山万水的北上听他讲课,但可以他的机构一上市就买他家的股票。

网上搜了一些他的语录,转载于此。

1.这时候你发现了一个无比体贴的第三选项,大喊一声”啊!倪萍!”

2.如果倪萍考不过GRE,那只有一个可能就是她不背单词。

3.老罗:你那兜儿里有桃儿。

女生:呵呵,不好意思,这是留给我姥姥的……..

(我心想:谁***想吃了)

4.这个题巨简单无比以至于都不好意思做了。

5.瞪我干什么,我是从纯生物学角度来看待的,我们就是排斥同性恋,要是中国多些同性

恋,人口就不是问题了……当然,我是异性恋了。

6.你们真是气死我了……哎…求求你们了!

7.骠悍的人生不需要解释!

8.这是我一点不成熟的意见。

9.大家都是出来混的,都不容易!

10.人生总有几次踩到大便的时候。

11.直面惨淡的人生,正视淋漓的鲜血,彪焊的活下去!

12.以前上课时老师们都说女孩子要自立。哦,忘了,你们是考GRE的,考GRE的女生是什

么?猛女!

13.”老罗,这节课不要讲题了,咱们扯淡吧!”我听了差点没从讲台上栽下去。

14.”松软的肌肉和梨型的身材”……什么叫”梨形的身材”啊?咦,你们看我干什么?

我绝对不是梨形的身材,我是标准的水桶身材!

15.繁殖是指同种之间的。比如一只狗生了一窝小崽子,有胖的瘦的矮的丑的。不能说母

狗一看,咦……有一只猪,一只猫,一只鸭,还有条鱼!?

16.令人愉悦的忧伤……

17.就是这么彪悍!就是这么硬朗!

18.这个题目是在侮辱我们的智慧。

19.好了,笑话讲完了,刚才趴着的同学可以继续睡了。

20.从这个事情上,同学们又看到了你们罗老师的另外一个优点(或老派知识分子的高风

亮节)…….

21.日本是不是一个集体BT的民族?是!但是我从不骂他们BT,我要证明他们是如何BT。

22.没有袁隆平,中科院那帮废物吃什么啊?

23.要是让我遇见,我就废了他!

24…….对不起,我有点激动啊。

25.我是一个九流诗人,我和她(Emily Dickinson)拼不过才气。那我拼什么,拼人品,

她们拼不过我。

26.这就是十三岁的少年罗永浩第一次近距离目击活生生的黑人!

27.如果几年以后你来新东方看到一个人,咦,面熟,就是想不起来是谁,好像是罗永浩

的弟弟,注意,我没有弟弟!

28.一个家里有一个男孩儿一个女孩儿一点事情都没有,有两个女孩儿平时鸡毛蒜皮的小

事也无所谓,但是如果有两个男孩,尤其是在民风相对彪悍的东北……

29.我爸一边给人家赔药费,一边心里窃喜:***,这才是我儿子!!!

30.有些同学可能怀疑我的人品,我再给你们讲一个故事:”我们家原来有一棵樱桃树..

….你们都笑!你们笑我就不讲了”

31.”ETS本来就是病态的出题,我门也就要用不正常的思路做题了。”

32.”GRE是什么,就是让中国人体验美国人愚蠢程度的考试”

33.这道题,自从老罗出现以后,就解决了。老教师对我说:老罗,你真***牛啊!

我说:快别这么说了,我只不过是站在巨人的肩膀上。

34.像我这样的奇男子……

35.我们今年的春节联欢会的主题就是突出”联欢”两个字————这就是倪大姐的逻辑

36.你说说你的思维都混乱到什么程度了。

37.这道题是新东方有史以来最有争议的题,但是罗老师的到来……我只是站在了巨人的

肩上。

38.顺着倪大姐的思路,这道题应该选什么?

39.左倾右倾不重要,重要的是被打倒!

40.一说谎话就出汗了哈……

41.我咽下一口苦水,她还以为是咽口水。

42.拉斯维加斯离婚也方便,大家都开着车排队去离婚,以至于你慢一点儿后面的人都不

愿意:”快点快点!还让不让人离婚了?!”老俞去了之后两眼直放光:”太方便了!太方便了!”。

43.我觉得你们感情没破裂……(男的给女的一巴掌,女的踹男的一脚以后)啊?真的破

裂了…

44.穿喇叭裤就是流氓了?简直就是逻辑混乱!!!

45.老罗:这句话对不对?对不对?对吗?不对吗?

我们:……不对……

老罗:你告诉我哪不对了?这简直就是没有再对的了!无聊的题,下一道!

46.One by one的care不过来。

47.你们看这个词——gullibility…gullibility…读着像什么?不就是傻了吧几吗!

48.不由得你不佩服!

49.在美国的研究生院里中国学生从来不参加课堂讨论,以至于教授都以为他们什么都不

会。可是一考试就是第一一考试就是第一,那美国教授不就崩溃了吗?他根本理解不了,

于是感叹道”啊,神秘的东方!”

50.像我这种牛人,想找个人佩服一下的时候我就去照镜子。

51.他跟你要八块你转身就走,这时候他一般就会说”五块怎么样”,你一看差不多也就

成交了。有一回下课的时候,一个学生特兴奋地跑到前面跟我说”老罗,我砍到了三块八

!”。我心想,太无耻了!盗版小犯也是人啊!

52.你们知道老俞怎么讲填空吗?老俞以前教课的时候经常是”A,B直接排除;D,E一看

必然就是错的,所以这道题选C”。那有的学生就问了”我怎么就看不出来D,E错得那么必

然呢?”。这时候,老俞就会放下书,走到讲台前,给大家讲一段人生立志的小故事,53.”就快考到了!”

54.英语教育界像这种老骗子我见的多了。

1.老罗在课上问∶“日本女人有什么爱好?”

下面有人回答∶“拍片!!”

老罗暗笑,说∶“你们T M D就不能想点好的东西啊~那么,日本男人有什么爱好?”下面异口同声∶“看片!!!”

3.古代诗人去妓院是去谈恋爱的。

8.背过词典的我只见过老俞和那个广东疯子。

10.什么是梨型的身材?恩?你们看我干什么??我老罗是标准的桶型身材!!

12.这道题多年来在新东方一直讲不明白,直到你们罗老师加盟了新东方。老教师都对我说∶老罗,你可真牛!我赶紧说∶快别这么说,我只是站在了巨人的肩膀上!

14.我外婆出生于光绪年间,改个屁嫁。

16.当学生向老俞提问时,老俞会给他讲个他自己奋斗的小故事,把学生都感动坏了,就忘了刚才的问题了。

19.中国要是有50%的人都是同性恋,人口问题就解决了。

20.为什么?很简单,因为你是土鳖,没见过世面。

21.13岁的少年罗永浩,有生以来第一次近距离目击活的黑人!

23.这时我赶紧掏出记事本,写遗嘱。

31.令人愉悦的忧伤

32.我真嫉妒你们能遇到这么牛的老师!

33.真正的猛男,敢于直视惨淡的人生。

34.猛男的另一个特征,哭的时候要躲起来。

37.幸福的直哆嗦。

38.啊,该睡觉了,喝两杯咖啡。

43.听完精神崩溃了。

44.中国教育的两大悲哀∶

45.女生就这点不好,你吵不过可以打嘛,打不过可以不打嘛!干什么去打小报告呢?

48.我到新东方后劝退了不少老教师。

50.镖悍的人生不需要解释。

52.我咽了一口苦水,不过在她看来是一口口水。

53.风。冷风。冷风吹。————–古龙这样写是为了赚稿费(按行计费)

55.眼睛血丝密布,脑门上青筋暴露,脚上出现了汗毛。

57.——-老罗呢?——-不知道,也别问,反正是没了。

62.注意,老罗从来就没有弟弟!

63.有时候,我也稍微感到一点点恶心。

66.老子一天不做上1000个俯卧撑还真***不爽!

67.小孩打架是比发育。

68.过了3年,我发育了!!!

73.我跟他们比人品!!

76. 你数学不好,还可以去当英国首相嘛(邱及耳),不行也可以去当****作家嘛(李敖),还可以去英国做诗嘛(徐只摸),当然以上的都需要签证。那不行你可以在国内当作家嘛(钱钟书),最次你也可以当个老师嘛(罗永浩),如果你连课都讲不了,你也可以去当个校长 吧(俞敏洪)。

78.不能这样,否则他们会认为你很活泼。

79.你们都看不看中 央电视台的春节晚会啊?啊,怎么还保持着这个恶习啊?! 中

央电视台的联欢晚会不是给正常人看的.但是爸妈要看, 作儿子的总不能回屋吧,先吃几个维生素B6(孕妇用来防止呕吐的),再硬着头皮坐在电视机前.

有一年竟然发生这样的事: 倪萍满面假春风地说:”今天的联欢会突出了联欢的主题.”对得让人面红耳赤! 思路与ETS高度一致!她去考GRE如果不得2400, 那基本是词汇不过关!

80.痴呆型精神病患者最幸福。已经达到一个高深的境界,每天都处于非常high的状态。而且干啥随便∶你是傻子你怕什么!?可以被养得白白胖胖,永远处于放风状态。

81.政治就是没有矛盾,制造矛盾;再解决矛盾。其实就是制造仇恨的。巴勒斯坦的小学数学课本里有道题∶抓到七个以色列战俘,干掉五个,还剩几个?连数学都灌输仇恨的民族是没有希望的。

82.遇到误会解不解释呢?绝不解释!只有两种情况我才解释∶1亲人误会我。如果我不解释,他们会难过。2法院误会我。除了这两种,绝不解释。真正硬朗彪悍,不解释!妈的,连我这种人你都误会,你还能干啥?

83.Caculus 一看我就头发麻。听说马克思当年写资本论时累了就做两道微积分休息休息。当年我就因此埋下了对马克思的深仇大恨。但后来经证实是算术题不是微积分。原来是算术题啊,嘿嘿。我是中国大陆唯一考gre不答数学部分的人。当年我答到数学section的时候,第 一题我花了7分钟读题,咦?没读懂。他妈的不做了。按下一题。没想到机器提示我必须选一个答案。我当时汗就下来。我来考试是想得到自己的真实成绩啊。它这蒙错了还好,蒙对了怎么办啊!ETS怎么也没想到,还有这样的奇男子,蒙对了会很伤心的。我一想,都不 做了。于是把整个数学section全放掉。直接做下面的section。考了几次GRE全没答数学 section。后来ETS给我寄成绩时问我∶By the way,能问问你为什么每次都不答数学部分呢?你有什么目的么?嘿嘿,我不告诉你。我给 ETS写信∶如果你给我退数学部分的考试费我就告诉你。他们没理我,于是我也就没理他们。

84.杀虫剂是干什么的啊?就是帮助昆虫搞优生学的。越来越好的杀虫剂把一个个小虫子搞得象小泰森似的。遇到不怎么样的杀虫剂就象下场毛毛雨,好点呢,就是洗个澡.而且这些小虫子洗澡时也不闲着,一边洗一边唱∶“我们是害虫,我们是害虫!”

85. 我家离新东方远,每天在家门口打车。家太偏僻了,到处是比夏利还破的车。根本不愿意坐。有一天我发现了一个黑色桑塔那—在我们那算是高档车拉。可我一看那司机就不想坐了。他又黑又瘦,干瘪小个,一副欠扁的窝囊相。不得以为了车还是坐上去了。坐上去后才发现这司机不一般啊。上了车他立即象个男子汉了– –一个劲踩油门,只分轻踩和重踩,根本不见踩刹车。我惊喜地发现“北京不堵车拉!”不论红灯绿灯一路过,别的车都让路。充满了罪恶的快感。太爽拉。那干瘪身形高大起来.但是一下车,他的眼神又变的窝囊起来了。

86.人最他妈虚伪。你去跳崖自杀,看见了一个人你看他就来气,上去就扁了一顿,然后心情就爽了,不想死了,抱住人家大叫“恩人!”,结果他跳下去了。对动物也一样∶把人类折磨的对象叫恩人。什么救命恩狗的。比如小蜜蜂。人家一年辛辛苦苦酿蜜。是给你酿的 ?!你上去抢过来咕咚咚喝完,一抹嘴,说∶“啊,小蜜蜂,你真是辛勤的小精灵啊!”靠,你欺负也就欺负了,还要恶心它。它是不知道。如果知道了,肯定气吐血。

87.家里穷那会儿,屋里坐四个人,只有一袋半方便面。还没吃呢,又来一个人。我们四个这个后悔啊—-怎么不早吃呢?那人兴高采烈地说今天感恩节啊!他妈的,吃的都没有,感什么恩?!他说我们去教堂吧!我们又不信教上什么教堂?他说哎呀感恩节,教堂有吃的。我们一听乐疯了。于是五个人骑着三辆自行车直奔教堂。到那一看果真有糖果饼干什么的,而且随便进。我 们就上去疯吃一顿。没人管啊。于是留下了美好的回忆。第二年感恩节,我们又去了,一看是自助餐!!!都精神崩溃了。上去疯狗一样吃。

88.最土最庸俗最家常便饭的就是孔子。所以得到广泛流传。象老子庄子那都太酷拉。从远处骑个小毛驴戴个墨镜。走过你身边。然后消失在远方,可是你还觉得那墨镜在他背后。巨酷无比。语言所不能表达的就是禅,最酷。不能渐悟,只能顿悟。师傅拿个棍子。你问

∶“什么是禅啊,我怎么还没悟到啊?”师傅上去就一棍子打在头上∶接着悟!当时有多少徒弟被打傻打死啊。有的徒弟聪明,被打了一下,就“啊,我懂了!”于是下山收徒弟,手里也拿个棍儿,徒弟说悟不出,上去就打∶接着悟!聪明的徒弟怎么样啊?也不用接着悟, 也不用挨打,直接拿个棍就下山收徒弟。办起住宿班、冲刺班、12周班、15周班……….

89.我们不幸和财狼作了邻居(指日本)。小日本们从古至今要么正在侵略要么在筹备侵略。在他那小破倒霉土地上,并且不计划生育,这不找死么!?日本人从小就被洗脑∶ 缺乏资源出去抢是正确的。日本单个人都挺好的。放到一起就是一个人格分裂精神变态的民族。我也遇到过几个不错的日本人。但我绝不与他们深交。为什么啊。我深谋远虑啊。到时上了战场,老子二话不说一枪废了他!有的同学听了我的课去投诉,说我在课上宣扬反日情 绪。这是反日情绪么?现在我来纠正一下啊。不是反日情绪。是仇日情绪!记住了啊。到时候投诉别说错了!

90.当年我上住宿班的时候老俞还不象现在这么忙。上山给每期学员作一次动员演讲。那时老俞在我们心中就是神啊。一天听说晚上老俞来作演讲。于是都早早跑到演讲处集合。老俞吃过饭来了,拿起话筒,什么都没说呢,就是一个响亮的饱嗝。要多不合时宜有多不合时 宜。我们当时听了都傻了,互相看了看,脸上都洋溢着痴呆幸福的光芒说∶多么平易近人的饱嗝啊!!!!

91.Ezra Pound 是美国20世纪文学界的******。在美国写诗得不到认可,就去英国混。在英国混出头了。然后肆无忌惮。大骂美国,还写道∶资本主义排斥诗人。美国是资本主义,英国不是么?!头脑极度混乱,诗人的标志。后来E.P开始研究政治。一个诗人研究什么政治?!而且他 居然拥护墨索里尼,参与了一个反美电台。他酷爱中国文化,对中国文化病态痴迷。把孔子的着作都翻译成英文。狂迷中国饮食,在整个意大利没找到中餐馆,于是大怒∶居然没有中餐馆,这个国家完蛋了!

92.把有限的马屁集中火力拍到一个人的屁股上。

93.愚蠢本能发作了

94.雷锋一生扶过六千个老太太过马路

97.我走来走去,为中国的命运苦苦思索

98.在一个疯子的领导下,一国人都疯了。政治比战争可怕得多。

100.破题,肯定是倪萍参与了出题。

101.每个学校都有一个变态的中年妇女当教导主任.

102.每个学校都有一个好色的男体育老师一上课就让男生玩球,自己领女生做游戏。

最近的琐事好多啊

好久没有写新文了,最近的事情超多超杂,做项目写Code,学新知识,去学校招聘,改卷子,准备面试,失去了写文章的心气,常常是不知不觉,一天就没了。

虽然累了点,但也成长了很多,很欣慰啊。 🙂

  • 对Web开始慢慢有了些小领悟,花了些时间把现在的代码框架又理了一遍,搞懂了很多原来不知道的东西,日后慢慢发些心得上来。
  • 去了趟母校招聘,做了宣讲,组强了招聘。第一次对着一两百人做Presentation。说实话,第一次还是怯了一下;还乘机和老师同学学生朋友见了面,聊了聊天。母校给我的感觉是那样的亲切。唉,巨蟹座!
  • 改卷子很麻烦,眼都看花了。。。
  • 开始面试了,不想轻易的用几个面试题干掉候选人,想找能自我驱动、对开发有激情的同学。总之,和人打交道真的不容易!

最近累了点,明天去Hiking放松一下。祝自己一切顺利! 😆