Mr Darcy less is more

内存对齐

对齐:现代计算机中内存空间都是按照 byte 划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问, 这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放。

Read more

复合模式

复合模式( Compound Pattern ):在一个解决方案中结合两个或多个模式,以解决一般货重复发生的问题。 与鸭子重聚 之前一篇介绍策略模式的文章,我们与鸭子深度合作过。现在我们将从头重建我们的鸭子模拟器。

Read more

单例模式

单例模式( Singleton Pattern ):确保一个类只有一个实例,并提供一个全局访问点。 实现( Java) 利用一个静态变量来记录 Singleton 类的唯一实例。 private static Singleton uniqueInstace; 把构造方法声明为私有的,只有 Singleton 类内部才可以访问。 private Singleton(){} 用 sharedInstance 方法实例化对象,并返回这个实例。

Read more

策略模式

策略模式(Strategy Pattern):定义一系列算法,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化。 鸭子应用 Tom 做了一套很成功的模拟鸭子游戏。游戏里有各种鸭子,会游泳戏水,会呱呱的叫。游戏的内部设计使用了标准的面向对象思想。设计一个鸭子的父类: Duck ,并让各种鸭子继承次父类。

Read more

S.O.L.I.D 原则

这里有一篇国外的文章:SOLID Go Design。是由作者Dave Cheney根据自己Golang UK Conference 的演讲 整理所得。 很多人把 code review 当作自己工作的一部分。我们做 code review 的原因浅层次在于找出不符合规范的代码以及明显的逻辑错误,更深一点的是想避免不优雅的代码。 那么,我们如何判断正在 review 的代码是否足够优雅呢?稍有经验的程序员可能很容易说出,“写的很好”,“写的槽糕透了”,“总觉得这里不该这么写”。这些都是主观感受,我们需要一些标准来客观衡量代码的好坏。

Read more