年度归档: 2021年

94 篇文章

thumbnail
【SpringCloud】四、Eureka集群
Eureka集群 高可用、故障容错 负载均衡 节点之间相互注册,相互守望 cloud-eureka-server7001:Eureka集群 application-7001.yml server: port: 7001 eureka: instance: hostname: eureka7001.com #eureka服务端的实例名称 client…
thumbnail
【SpringCloud】三、Eureka
Eureka Eureka停更说明 https://github.com/Netflix/eureka/wiki Eureka 2.0 (Discontinued) The existing open source work on eureka 2.0 is discontinued. The code base and artifacts tha…
【SpringCloud】二、项目基础搭建
IDEA搭建项目必要操作 字符编码 Settings - File encoding-utf8 勾选Transparent native-to-asciic on version,目的是properties文件使用Unicode编码 注解生效 Settings - Annotation Processors-enable Java编译版本选8 过滤…
LeetCode:扁平化嵌套列表迭代器_341
思路 这题我使用了两种解法 遍历N叉树 首先分析题目得知,该数据结构是N叉树,需要的是所有叶子节点 迭代器惰性求值 从时间复杂度的角度来看,遍历N叉树为O(N),遍历了所有节点,但我们是不需要非叶子节点的,不过要得到叶子结点,不得不遍历非叶子结点,所以没有提升空间了。 从空间复杂度的角度来看,提前遍历出所有叶子结点放到数组里,这里就可以优化。优化方…
thumbnail
【SpringCloud】一、微服务架构简介
什么是微服务 微服务是2014年提出的概念 微服务是一种架构风格 一个应用拆分为一组小型服务 每个服务运行在自己的进程内,也就是可独立部署和升级 服务之间使用轻量级HTTP交互 服务围绕业务功能拆分 可以由全自动部署机制独立部署 去中心化,服务自治。服务可以使用不同的语言、不同的存储技术 什么是SpringCloud 分布式微服务架构的一站式解决方…
接口隔离原则
接口隔离原则 定义 Interface Segregation Principle:客户端不应该被强迫依赖它不需要的接口。 个人理解 两个类之间的依赖应当建立在最小的接口上。接口颗粒度把握好,太小了调用麻烦,太大了就会提供一些客户端不需要的内容,服务端改动时影响范围增大,影响扩展性。 如果接口部分内容需要复用,可以拆出来,再使用外观模式,提供客户端…
依赖倒置原则
依赖倒置原则 定义 高层模块不要依赖低层模块,应该通过抽象来互相依赖。除此之外,抽象不要依赖具体实现细节,具体实现细节依赖抽象。 个人理解 避免对具体实现类的直接引用,使其付出更小的代价达到扩展的目的,与开闭原则照应。 缺点也是老生常谈的类文件数量增加,可维护性下降。所以要在适当场景使用,切勿过度设计。例如service层定义接口,实际项目中,大部…
里式替换原则
里式替换原则 定义 Liskov Substitution Principle:子类对象能够替换程序中父类对象出现的任何地方,并且保证原来程序的逻辑行为不变及正确性不被破坏。 个人理解 能够替换不只是从语法(多态)角度考虑,还需要保证替换后,原有业务逻辑正确。 LSP的意义 改进已有实现 例如程序最开始实现时采用了低效的排序算法,改进时使用LSP实…
开闭原则
开闭原则 定义 英文全称是Open Closed Principle,软件实体(模块、类、方法等)应该“对扩展 开放、对修改关闭”。 个人理解 在设计阶段,需要识别出哪些是不变的,哪些将来有可能改变的,留好扩展点。 寻找共性,进行抽象。通用的抽取封装到基类,同类型的、需要扩展的抽取为抽象方法。 如何理解“对扩展开放、对修改关闭”? 添加一个新的功能…
单一职责原则
单一职责原则 定义 单一职责原则的英文是 Single Responsibility Principle,缩写为 SRP。一个类或者模块只负责完成一个职责(或者功能)。 如何理解单一职责原则(SRP)? 一个类只负责完成一个职责或者功能。不要设计大而全的类,要设计粒度小、功能单一的 类。单一职责原则是为了实现代码高内聚、低耦合,提高代码的复用性、可…