近日,因公司的指派,需要为公司搭建一个符合公司内部的开发框架,为此,查阅了android的源码并且借鉴了android一些独特的设计方式。
观察了AbsListView.java,我们不难发现,在Android设计中,是遵从一种规范化的,即接口分离的原则。按照传统,我们常用的方式都是使用子类继承父类的方式,这样就造成了子类和父类之间无法传递。为了打破这个平衡,在Android的设计模式中,将子类和父类之间的继承操作,划分出来。利用一个接口来进行传递。这就是第三者:
爷爷 孙子
1)爷爷叫孙子去卖茶。
2) 孙子卖茶。
3)孙子将茶钱递给爷爷。
需要打破平衡:
爷爷 父亲 孙子
1)爷爷做事
2) 爷爷拖父亲,所要卖茶
3)孙子做事
4)父亲做自己的事,
5)孙子做事,顺便询问父亲还有什么事,父亲说去卖茶。
6)孙子去卖茶。父亲依然做事,爷爷也做事
这样的平衡造成了:孙子、爷爷、父亲都做自己的事。从整体架构体系上来说,扩展性很好。即使孙子不去卖茶。女儿也会听从父亲的话。
实现方式:打破传统平衡,各司其责,扩展性强。用于API的封装和调度。