软件设计模式中有不少经典案例,如果在阅读源码的时候,能够高屋建瓴,从框架上去看代码,熟悉UML建模语言,无疑在熟悉陌生模块时事半功倍。Telephony 模块
个人觉得在中间层到RIL层使用的是命令模式,因为通话模块说到底是通过AT指令与Modem取得间接联系。
下面截图引用自:http://wenku.baidu.com/link?url=SVqqXzsSDk5EvPG9X3oEFZTFgygln66-TUho5Sw0dnVxLmZXzdBJRwLI-TtuYqzWxELMzZye3H8A1kroujVAWomf5vNBsCePTuejRHncMJC
我们联系实际就可以知道,通常所说的手机制式也就是GSM 与CDMA ,查看框架图可以看到PhoneProxy 显然这里使用了一个策略模式。再看看后面的CommandInterface
BaseCommands 可知,使用了命令模式。如果熟悉这两种设计模式,那么在阅读源码时代码的脉络就很清晰了。