这里的组合模式不是”组合好于继承”的组合,那么是什么组合呢,也很简单,我们来看代码:
abstract class Component { //不写能跑的了
String name;
public Component(String s){
this.name=s;
}
public abstract void add(Component c);
public abstract void remove(Component c);
public abstract void foreach();
}
这个像不像list、set等集合,不过它特殊在它add的是自己。那么有什么用呢,话说你有没有想到了文件夹。文件夹会包含文件夹,也就是说的整体与部分相同时使用。
觉得容易理解的话面向对象的23种设计模式点这里
这个写完设计模式就写一半了,只剩下行为型的11种模式。看和自己写出来还是很不同的,写的时候找例子比较啥的,对设计模式的理解也渐渐加深。我不喜欢说水平有限之类的客套,但一个东西不同人的理解是不一样的。如有不同欢迎评论一下,我看到一定会回复。