Skip to content

Latest commit

 

History

History
10 lines (5 loc) · 979 Bytes

peonyviewhe-directoryview-ji-qi-pai-sheng-lei.md

File metadata and controls

10 lines (5 loc) · 979 Bytes

View和DirectoryView及其派生类的关系

这一附图简要的描绘了View和DirectoryView及其派生类的关系:

和Window、WindowInfo,slot、slotinfo一样,View和DirectoryView及其派生类同样是接口的模式,但是比前面两组更加特别的是——View同时采用了register-factory的模式,view的注册和创建必须通过工厂模式实现。也许大家会疑惑register-factory本质上同样是接口,为何不把这两个接口整合在一起呢?

理由也很简单,DirectoryView本身并不能构成一个完整的文件视图,它只是一个中间框架,如果将create方法整合进接口,directory view无法真正的实现create方法,所以才将create方法分离成单独的接口。

大家可以通过解析icon view这个典型文件视图为切入点,研究register-factory的模式的实现,已经directory view中间层的设计实现,这里就不做具体阐述了。