今天我读完了这本书,觉得写的太好了。用了一个简单的例子,就详细地讲解了封装的应用。我认为可以这样的思想完全可以应用到linux操作系统设计里。比如nand mtd和nand chip info的关系就是封装的概念。为什么要将guitar拆解出来guitarSpec ?因为guitarSpec中的的东西是guitar中的可变属性。而什么serialNumber其实不是guitarSpec天生的属性,是系统人为添加的。
第二章到第四章讲的是如何gather requirement以及analysis。第五章讲 good design,其实就是对第一章再进行优化 ,instrument, instrument spec(为抽象类)guitar, guitar spec mandolin, mandolin spec 相当于每增加一个乐器,我们都要增加两个类。我们可以将instrument spec再次封装,用map来表示。 这样我们不用每次增加两个类对象。有一个原则比较重要 ,少用继承,多用组合,有时候可以用委托代替继承。
时间: 2024-10-26 19:26:57