摘要:
JDK8起新添加的Stream API 把真正的函数式编程风格引入到Java中。以一种声明的方式处理数据,从而写出高效率、干净、简洁的代码。 Stream特性 1、不是数据结构,没有内部存储 2、不支持索引访问 3、延迟计算 4、支持并行操作 5、容易生成数组或集合 6、支持过滤,查找,转换,汇总, 阅读全文
摘要:
策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改,在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法 比如在一个可变流程中,每个流程都是独立互不影响的,我们想任意替换流程中 阅读全文
摘要:
外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个可以访问,并且屏蔽了系统复杂性的接口。它向现有的系统添加一个接口,来隐藏系统的复杂性。 这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用 场景:邮寄信件的过程,每个需要寄信的人,都需要 阅读全文
摘要:
装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构,这种模式的实现有两种 实现1、通过继承原有的类,在保证父类原有功能的基础上,提供额外的功能 实现2、创建一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。 场景:将旧 阅读全文
摘要:
命令模式(Command Pattern)把请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象A,并把该命令传给相应的N个对象,由N个对象去执行命令。 命令模式主要解决在某些场合中,命令发布者和N多命令执行者的耦合关系。比如在项目实施过程中,客户同时通知SA修改需求 阅读全文
摘要:
桥接模式(Bridge Pattern)是用于把抽象化与实现化解耦,使得二者可以独立变化,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦 桥接模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响 场景: Company抽象:XX公司的盈利模 阅读全文
摘要:
适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁,它结合了两个独立接口的功能。适配器将一个接口的实现,转换成兼容另外一个实现的接口功能 场景:通过一个适配器Adaper,将一个老的OldOutput电流接口实现的220V输出,转换成新的TargetOutput电流接口实现 阅读全文
摘要:
当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知依赖它的对象。观察者模式属于行为型模式 场景:学生1和2观察等待着老师布置作业,老师通过微信布置完作业,学生1和2便同时接收到了通知,但学生1决定再看会电视,学生2决定马上写作业 在 阅读全文
摘要:
在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行 场景:总部设计的宝马车的模型模板,由各个分厂去根据抽象方法实现不同的车型,比如车的启动有多种不同实现,车的喇叭系统有多种不同实现,车的导航 阅读全文
摘要:
责任链模式主要包含以下角色。 抽象处理者(Handler)角色:定义一个处理请求的接口,包含抽象处理方法和一个后继连接。 具体处理者(Concrete Handler)角色:实现抽象处理者的处理方法,判断能否处理本次请求,如果可以处理请求则处理,否则将该请求转给它的后继者。 客户类(Client)角 阅读全文