设计模式-结构型模式

适配者模式
现有的系统放置在新环境中,新环境要求的接口是现对象不能满足的/系统需要使用现有的类,
此类的接口不符合系统的要求;适配器继承或者依赖已有的对象,实现想要的目标接口
桥接模式
用继承会造成类爆炸问题,扩展起来不灵活
实现系统有多个角度分类,每种角度都可能变化
抽象类依赖实现类
场景:杯子:大中小,口味:原味,加糖;继承实现需要6个子类
手机:vivio,oppo,华为,手机壳:简约,可爱型需要10个类
桥接模式使用组合代替了继承,将类之间的静态继承关系转换为动态的对象组合关系,使用组合而不用继承,会使系统更加灵活,并易于扩展,同时有效控制了系统中类的个数。
手机Phone一个抽象类,桥接手机壳类,继承手机实现类vivio,oppo,华为;手机壳接口类,实现接口类简约,可爱型
组合模式
树型结构的问题/对象的部分-整体层次结构为树型结构
树枝内部组合该接口,并且包含内部属性List
过滤者模式
过滤解耦/多个不同的过滤标准过滤
逻辑运算以解耦的方式
实体类
public class People{private string name;private string gender,private string matrial;}
抽象过滤器
public interface Filter{List doFilter(List)};
具体过滤器
public class MatrialFilter implements Filter{private MatrialEunm matrial;
public List doFilter(List){List result;for(){if(MatrialEunm.matrial.equel(people.getMatrialType)}} return result;};
public class GenderFilter implements Filter{};
调用
MatrialFilter matrialFilter = new MatrialFilter();
List people = matrailFilter.doFilter(peopleList);
装饰器模式
注重行为的扩展
动态的给一个对象添加一些额外的职责
不想增加多个子类的情况下扩展类
将具体功能指责划分,同时继承

你可能感兴趣的:(设计模式)