数学不好果然连钟都可能读不懂

clock

B’L : Legendre’s Constant(勒让德常数) = 1

Sum(1/2i) : 数列:1 + (1/2) + (1/4) + (1/8)… = 2

3 : HTML字符 “3”. &#是这类字符的通用前缀 , ‘x33’ 表示16进制的33 (=10进制51).

Continue reading “数学不好果然连钟都可能读不懂”

一句话概括设计模式

1.策略模式
定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户

2.观察者模式
定义了对象之间的一对多依赖,当一个对象改变时,他的所有依赖者都会受到通知并自动更新

3.装饰者模式
动态的将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。
Continue reading “一句话概括设计模式”

设计原则

1.找出应用中可能需要变化之处,把他们独立出来,不要和那些不需要变化的代码混在一起。
把会变化的部分封装起来,以便以后可以轻易的改动或扩充此部分,而不影响不需要变化的其它部分。这样的概念很简单,几乎是每个设计模式背后的精神所在。所有的模式都提供了一套方法让“系统中的某部分改变不会影响其它部分”。

2.针对接口编程,而不是针对实现编程。
针对接口编程,关键在多态。利用多态,程序可以针对超类型编程,执行时会根据实际状况执行到真正的行为,不会被帮死在超类型的行为上。变量的申明应该是超类型,通常是一个抽象类或者是一个接口,只要具体实现此超类型的类所产生的对象,都可以指定给这个变量。这也意味着,声明类时不用理会以后执行时的真正对象类型。
Continue reading “设计原则”