自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

四火专栏

热爱设计、编码,热爱纯粹的软件

  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除