组合模式:将对象组合成树形结构以表示“部分整体”的层次结构。组合模式使得用户对单个对象和使用具有一致性。
在 Android 里,View 的设计是符合组合模式的。在组合模式里,Leaf 和 Composite 都是继承于 Component 接口,Composite 里包含了若干个 Leaf 和 Composite 。而 Android 的 View 的设计,View 本身就是 Composite ,并且是 Leaf,而 ViewGroup 继承于 View,ViewGroup 又包含了若干的 View 或者 ViewGroup。同时 ViewGroup 也提供了增加和删除 View 的方法 API。
组合模式是符合开闭原则的,新增的 component 实现类都不需要修改已有的代码。在Android 项目中,咱们经常需要自定义控件,自定义组合控件,都不需要对原来的控件做修改。
其实不只在 Android 平台上,在其他平台上,比如 .Net ,HTML 等,都采用组合模式来设计界面的组件。
- EOF -
本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动。
转载请注明:文章转载自 Binkery 技术博客 [https://binkery.com]
本文标题: 设计模式之组合模式
本文地址: https://binkery.com/archives/503.html