设计模式

结构型设计模式

总结为抽象公共部分,非公共部分且多种的实现可以通过不同的实现来组合。通过不同的组合构造清晰明了高性能的代码。

分离对象

从一组对象中分离出自己需要的-过滤器模式

public class Base {}
public class SomeType1 extends Base {}
public class SomeType2 extends Base {}

// Test, 过滤分离对象,从而为不同对象或者具有相同属性的对象分别处理
public void test(){
    List<Base> values= new ArrayList<Base>();
    values.add(new SomeType1());
    values.add(new SomeType2());
    for (Base b:values){
        if (b instanceof SomeType1){   // 除了通过类型,这里还可以通过属性进行判断例如 name,age
            System.out.println("type1");
        }
        if(b instanceof  SomeType2){
            System.out.println("type2");
        }
        if(b instanceof Base){
            System.out.println("base type");
        }

    }
}