星期日, 八月 10, 2008

Reading Today: Head First Object-Oriented Design, Chapt 1

step 1: satisfy the customer
对于一个好的软件,测试例子的重要性:
第一件事情,满足客户需要,测试例子正是客户的实际需求。测试例子的编写需要在编写软件的时候同时考虑。

(对于书中的吉他店铺搜索软件的例子,用enum来代替string作为搜索条件,避免拼写的影响。)

step2: apply basic OO principles to add flexibility
封装是为了更好的重用。将属性和对象本身分开。(有点像inode的概念)

step3: strive for a maintainable, reusable design
当你要添加一个对象属性的时候,好的设计不应该让你去改对象本身和使用到对象的方法。

其核心概念其实就是每个类做好自己的事情,对象和属性分开,对象和使用对象的方法分开,每个类直接用接口,而不交叉。(比如原来code中Guitar和GuitarSpec就有交叉,修改后的代码Guitar直接调用GuitarSpec而不是GuitarSpec中的小的属性)

没有评论: