摘要: 代理模式 1.定义 为其它对象提供一种代理,来控制对这个对象的访问 代理模式也叫作委托模式,它可以提供非常好的访问控制。代理模式包含三种角色: Subject抽象主题角色:可以是抽象类也可以接口,定义最普通的业务类型 RealSubject具体主题角色:被代理类,被委托类,是业务逻辑的具体执行者 P 阅读全文
posted @ 2020-08-13 00:18 jeff_chang 阅读(268) 评论(0) 推荐(0)
摘要: 建造者模式 1.定义 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式通常有4个角色 Person抽象类:定义模板方法及基本方法 public abstract class AbstractPerson { private boolean canSwim = t 阅读全文
posted @ 2020-08-10 23:10 jeff_chang 阅读(167) 评论(0) 推荐(0)
摘要: 模板方法模式 1.定义 定义一个操作中的算法的框架,而将一些步骤的实现延迟到子类中,使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 使用模板方法模式制造两款汽车。定义汽车必须有的特质:能够发动,鸣笛和停止,不同型号的汽车实现不同。汽车生产完成后需要对汽车的质量进行检验,测试汽车的所 阅读全文
posted @ 2020-08-09 21:12 jeff_chang 阅读(156) 评论(0) 推荐(0)
摘要: 抽象工厂模式 1.定义 为创建一组相关或相互依赖的对象提供一个接口,而且无需指定它们的具体类。 以女娲造人为例,定义人种(Product产品类)及八卦炉(工厂类)。为人类定义肤色及性别属性,从设计角度看,一个具体的对象可以通过肤色及性别确定。生产的工厂类如果只有一个,生产出来的全都是男性或者女性,因 阅读全文
posted @ 2020-08-09 21:11 jeff_chang 阅读(157) 评论(0) 推荐(0)
摘要: 工厂方法模式 1.定义 定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。 基本工厂方法模式 抽象产品类 public abstract class AbstractProduct { // 公共方法 public void methodOne() { // 阅读全文
posted @ 2020-08-09 21:09 jeff_chang 阅读(184) 评论(0) 推荐(0)
摘要: 单例模式 1.定义 确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例 饿汉式单例模式 public class Singleton { private static final Singleton singleton = new Singleton(); // 构造器私有化,限制产生 阅读全文
posted @ 2020-08-09 21:08 jeff_chang 阅读(165) 评论(0) 推荐(0)
摘要: 分布式配置中心 Spring Cloud Config Spring Cloud Config用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,分为客户端与服务端两部分。其中服务端也成为分布式配置中心,是一个独立的微服务应用,用来连接配置仓库并为客户端提供获取配置信息,加密/解密信息 阅读全文
posted @ 2020-08-09 21:07 jeff_chang 阅读(117) 评论(0) 推荐(0)
摘要: API网关服务 Spring Cloud Zuul API网关是一个更为智能的应用服务器,它的存在就像是整个微服务架构系统的门面,所有的外部客户端访问都需要经过它来进行调度和过滤。除了需要实现请求路由,负载均衡及校验过滤等功能外还需要与服务治理框架的结合,请求转发时的熔断机制,服务的聚合等一系列高级 阅读全文
posted @ 2020-08-09 21:06 jeff_chang 阅读(119) 评论(0) 推荐(0)
摘要: 声明式服务调用 Spring Cloud Feign 对Spring Cloud Ribbon和Spring Cloud Hystrix在实践过程中,这两个框架的使用几乎是同时出现的,Spring Cloud Feign就是一个更高层次的封装来整合这两个基础工具以简化开发。它基于Netflix Fe 阅读全文
posted @ 2020-08-09 21:05 jeff_chang 阅读(139) 评论(0) 推荐(0)
摘要: 服务容错保护 Spring Cloud Hystrix 在微服务架构中,系统被拆分成了很多服务单元,各个单元间通过服务注册与订阅的方式互相依赖。由于每个单元都在不同的进程中运行,依赖通过远程调用的方式执行,这样就有可能因为网络或依赖服务自身问题出现调用故障或延迟,同时也会导致调用方的对外服务也出现延 阅读全文
posted @ 2020-08-09 21:03 jeff_chang 阅读(125) 评论(0) 推荐(0)