• Erich Gamma, Richard Helm, 和 Ralph Johnson在GoF设计模式发表15年以后,再谈模式,另外一位作者,也是四色原型的发明者Peter已经过世。 提问者:如今有85,000
  • 在纽约Lisp聚会的这次演讲中,Gerry Sussman被问及为什么麻省理工学院停止教授传奇的6.001课程,该课程基于Sussman和Abelson的经典文本“计算机程序的结构和解释”(SICP)。 Sussman的答案是: (1)厌倦了教学(自从20世纪80年代以来一直如此)。 icon
  • DBC最早是有Bertrand Meyer 的 Eiffel programming language提出。DBC在Evans DDD的柔性设计中也谈到了。所以,DDD是集OO设计大成,正因为它是一个总结,你就不能把它和其他思想并列在一起,这有上下层次之分,我在这里强调DDD了,就是排斥其他思想,这 icon
  • 本人偶然间想到,Google了半天也没有找到相似的东西。在此抛砖引玉,望各位不吝赐教。 信息唯一性原则是解耦合与促进一致性的数据结构设计方法。一个信息只出现一次,其他地方只是引用。 比如客户买书《xxx》这一业务 icon
  • 个人关注jdon有一年多了,在jdon网站上也学到了很多知识,同时也验证了一些自己的一些理论。jdon是一个不错的网站。在jdon论坛上学习和了解LMAX,rribbit(事件总线),Qi4j(DCI)等知识。基本上我每周都会固定几天到jdon论坛里来逛逛,每次都有新的收获。 icon
  • 在阅读RDD一书中发现的一个法则:迪米特法则(Law of Demeter)百度了一下发现和DDD的聚合根概念吻合了,以下是百度内容,和道友们分享。 原文链接:http://terry-yinzhe.spaces. icon
  • 本文是一篇从业务开发人员角度发出的批判性文章,技术发展日新月异,但是好像都没有真正解放业务开发工作量,对软件复杂性的抱怨是软件行业发展过程中不断出现的现象,其实如何在代码快速开发和代码灵活性方面找到一个结合点,业界其实没有找到规律或者理论,或者都没有所谓不可能定律,也就是说,快速和灵活是不可能同时具 icon
  • 建筑学里有句名言:结构决定质量。在我看来这句话有更加广泛的意义,比如,写作文,经常要打提纲;做论文要定结构;教育方面的体现,重在价值观和人生观的培养,正确的价值观和人生观才能使学者把知识用在正确的用途上。如同一棵小树,在小的时候我们就把他的主干扶直了,剩下的事就吸收养分,必然成为栋梁之材。今 icon
  • 当我完成一个设计时,我需要逐个原则去比对吗? icon
  • 如果domain不能访问dao,来获取数据,那么很多业务方法无法实现啊。这时在将业务方法移动到service层,那不是很失败? 如果domain需要访问数据,那岂不是依赖dao层了? icon
  • 重复是比错误的抽象更便宜。看到重复事物,我们总是试图从重复中抽象出共同点,这其实属于过度设计,反而给代码带来更高的维护拓展成本。 duplication is far cheaper than the wrong abstraction icon
  • 假如分别有一个action,service,dao.还有一个ActionContext类。在开发的时候我需要从ActionContext.getContext().getRequest()取到Request对象,而这个Request对象我有时需要在action,service,dao中都要用到(假设 icon
  • 导言:到处一致的世界,中文中的“元素”“组合”等模式,以及和计算机程序设计、计算思维的一致性。正文:为什么有人说中文是世界上最好的语言?为什么有人说中文远远好于英文?请求集中大家的头脑暴力来头脑风暴一下。请畅所欲言,我们洗耳恭听。转假装在奋斗的回答在下面: icon
  • 喜欢这里的氛围,所以对于一些想法我也很想提出来,让大家来分享一下。 经常看见bang老师和大家热烈的讨论数学中的算法和软件的思想,那我也谈谈这方面的论点。算法其实是数学的一部分,也是比较特定的,就像软件开发中的硬编码,即这段代码是死的,没有很大的灵活性重用性,人们之所以学数学也不是 icon
  • 有什么好的解决方案if (null == attend) { throw new IncompleteStaffException(1); } if (null == password) { throw new IncompleteStaffExc icon
  • 最近要对原来做的移动的项目进行升级工作。想对程序做最大的一个改进是:“对象统一,允许冗余”的思想。因为在旧程序中用jconsole查看,感觉有大量new对象操作存在。所以想在用Tomcat的servlet接受数据后经过鉴权和校验后生成的这个对象会始终存在直道数据下发成功并记录日志后才抛弃。< icon
  • 假设系统需要分模块,其中有模块userInfoManager(负责customer的相关信息,prepaidCard ,customerCc,customerNotification等等) 方式一:(实现注册)userInfoManager(里面包 icon