- 博客(15)
- 收藏
- 关注
画圆画方的故事
这个故事最初是来自和发哥的一次聊天,他说了一些面向对象设计方面挺有意思的事情,包括Double Dispatch(下面会提到),我根据我自己的体会和思考,把这些零散的片段重新整理成一个小故事,欢迎感兴趣的同学一起讨论。 有一个苦逼的程序员,叫做小P。 有一天,老板给他传达了这样一个需求,根据用户不同的图像绘制事件,画出一个圆或者是画出一个方块来。老板传达的图像绘制事件是这样的:...
2012-02-25 22:41:36 251
API设计:CQRS(命令查询职责分离)
以下内容翻译自CQRS by Martin Fowler,有一些修改: CQRS(Command Query Responsibility Segregation)指的是命令查询职责分离。这是一种我从Greg Young处听到的模式描述。它的核心思想很简单,就是你在更新和读取操作时使用不同的模型,这样的话,会给整个系统的设计带来深远的变革。 人们和信息系统交互的主流行为就是对数据仓...
2012-02-23 21:54:22 306
不,这样的DTO!
本文翻译自 Oh No! DTO! by Robert C. Martin,这篇文章很短,强调的内容简单得不能再简单,也许大家早就意识到,但是,我依然可以在很多产品的代码里面找到文中所说的“教条”的影子,我说不清为什么,在这里有激烈的讨论,你们说呢? 本周我在教授XP(极限编程,译注)的课程,我们要写给当前的应用写FitNesse(一种测试工具,译注)的基础测试代码。其中一位程序员使...
2012-02-22 22:30:25 130
原创 如果不做软件
那,我想做什么? 我想要怎样的生活? 做一个歌手。充满魅力的舞台。钢琴?吉他?架子鼓?我爱清新的音乐,华丽的演唱。做一个医生。病人的眼神,这是世界上最单纯直接眼神。关于健康和爱的神圣故事。做一个咖啡吧老板。我爱咖啡,我爱在浪漫的咖啡吧里品味香醇各异的感觉。嗯,那样的话我大概有机会爱到极致了。咖啡在苦中浓郁,有时候,喝咖啡就是在品味生活。 呵呵,不过,我想我大概...
2012-02-22 21:28:53 127
Process and Corporate Culture
Corporate culture is not only a concept that a company uses to attract talents, but also a spirit and method running through the management. Here, I'll talk about the process, which reflects the chara...
2012-02-20 23:00:25 165
原创 转:关于亚马逊中国的界面风格
问题:为什么 Amazon 的页面给我的感觉是一个人安静地购物,而当当或京东却让我感觉是在吵闹的集市里购物 ? 来自:http://www.zhihu.com/question/20031711#636203回答者:东尼缪 对用户造成这种感觉应该是多方面的,也是地域化的 首先说说颜色吧 亚马逊整体颜色饱合度都较低,对眼睛没什么刺激。导航和大部分UI采用...
2012-02-17 00:00:27 1314
原创 寻找组成字母相同的单词
这篇文章是对这个帖子的汇总,帖子里的答复都很有意思,真希望ITEye多一些这样的帖子,少一些浮躁和毫无意义的争论。我把帖子汇总贴在下面: Write a function that takes as input list of words and prints out groups of words with exactly the same letters, one group pe...
2012-02-15 22:01:16 1155
代码评审鲜为人知的好处
代码评审究竟有什么好处?在前期发现问题,提高软件质量,降低软件成本。事实上,代码评审的好处远不止这些。有些项目经理或者开发人员不愿意多提评审,Coding的过程包含的内容非常丰富,如果只把一个字符一个字符地敲代码叫做Coding,未免悲哀了一点。优秀的项目,编码阶段实际敲代码的时间不会很长;优秀的程序员,大部分时间都用来思考了。 我来说说代码评审其它鲜为人知的好处,兴许能改变某些同...
2012-02-15 21:01:01 314
原创 转:现代浏览器的工作原理
这篇文章很好,忍不住转载在此。本文来自:http://blog.jobbole.com/12749/ 简介浏览器可以被认为是使用最广泛的软件,本文将介绍浏览器的工 作原理,我们将看到,从你在地址栏输入google.com到你看到google主页过程中都发生了什么。将讨论的浏览器今天,有五种主流浏览器——IE、Firefox、Safari、Chrome及Opera。...
2012-02-08 10:56:26 160
关于接口设计,还有Fluent Interface,这种有趣的接口设计风格
这个故事我早就想说了,可能是在好多个月前,只是一直不知道怎么说才能说合适,现在我重新整理了一下,讲述给大家。 这个故事是从下面这样一个对外暴露接口的调用开始的。 QueryUserEvent event = new QueryUserEvent();event.setName(name);event.setAge(18);event.setType(QueryUserE...
2012-02-07 13:21:31 313
Good Surroundings For Programmer
Programmers are those who work on creation, and they're simple, hard-working and careless about dressing. They really need some special conditions to help to exhibit their creativity, since the very w...
2012-02-05 22:26:11 128
程序员看法上的几个典型错误
今天我不谈抱负理想,也不谈具体的技术,我来谈几个看法上的典型错误。下面的这些问题都是我曾经遇到,或者是我的朋友们遇到过的问题,这些都是我个人的理解,希望对大家有帮助。 关于设计模式、设计原则有人认为,熟悉了设计模式、设计原则,就学会了设计。其实,设计模式和设计原则,只是前人根据设计实践做的总结和提炼,设计,归根到底是要解决问题的,把具体问题的解决办法,经过一定的抽象,变成程序员的...
2012-02-04 00:03:57 110
程序员眼中三种不同类型的公司
劳动密集型公司这样的公司以业务为导向,市场团队在公司中占据较高的地位。每一个技术人员最终被折算到了“人天”里面去,团队规模相对较大,所有技术人员都比较容易被替代,能力强的可以做更多的事情,能力弱的就少做一些。通过强有力的制度、政策和流程的规约,团队有条不紊地运作起来。业务氛围强势,技术通道升级较慢,需要非常长期的积累才可以获得丰厚的回报,诸多优秀人才脱离编码,而潜心转管理、谈需求并获得回报。愿...
2012-02-03 09:43:52 243
大楼扔鸡蛋问题的求解讨论
有道经典的算法题,100层楼,两个鸡蛋。某层之上扔鸡蛋就会碎。问至少要测试多少次才能找出这层楼来。 如果只有一个鸡蛋,我就只能一层一层试验。两个的话关键就是找着第一个鸡蛋试验的位置,第二个鸡蛋还是只能一层一层试验。这道问题其实可以扩展到任意个鸡蛋,但现在还是只看2个鸡蛋的情况。2个鸡蛋只有n层的最优解求出来假使为k,那么,n+1层的时候,把第一个鸡蛋在第k层释放,只有两种情况(n+...
2012-02-03 00:51:33 122
酒桌上的计算机网络
酒宴开始。 酒杯盛酒,酒杯碰撞,这是物理层;你要根据不同人的外貌特征找到你要敬酒的人所坐的位置,这是IP协议(网络层);你明白,敬酒的实际目的是加深感情,这在应用层,而这酒中的感情,才是报文的数据部分。 你和某位新见面的兄弟互相来回敬酒,这叫TCP;你给同一位好兄弟敬酒好多次,死命灌他,他也不回礼,这叫UDP;你对全桌的人说,来,咱们同归于尽,这叫广播;你在对这...
2012-02-01 12:37:16 100
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人