软件框架的要素

0、框架的定义框架通常是为了做某件事情,这件事情对用户透明。用户只需关注功能使用。1、结构化语言描述一些信息实现的方式通常有两种:(1)、XML(2)、注解2、框架中的数据结构用于框架运行时需要用到的关键数据结构,该数据结构中包含了描述某个实体的全部信息。3、框架运行的主流程就是完成一次运行的核心步

系统性能调优标准

在我们了解性能指标之前,我们先来了解下哪些计算机资源会成为系统的性能瓶颈。CPU:有的应用需要大量计算,他们会长时间、不间断地占用 CPU 资源,导致其他资源无法争夺到 CPU 而响应缓慢,从而带来系统性能问题。例如,代码递归导致的无限循环,正则表达式引起的回溯,JVM 频繁的 FULL GC,以及

Chain of Responsibility责任链模式

概述我们有时候会考虑将多个对象组成一条职责链,然后按照它们在职责链上的顺序一个一个地找出到底应该谁来负责处理。这种模式被称为Chain of Responsibility模式(责任链)。使用Chain of Responsibility模式可以弱化请求方和处理方之间的关联关系,让双方各自都成为可独立

桥接模式

概述Bridge的意思是桥梁。就像现实世界中,桥梁的功能是将河流的两侧连接起来一样,Bridge模式的作用也是将两样东西连接起来,它们分别是类的功能层次结构和类的实现层次结构。Bridge模式的作用是在类的功能层次结构和类的实现层次结构之间搭建桥梁。类的层次结构的两个作用1、希望增加新功能时假设现在

模板方法模式

概述在程序开发过程中,经常会遇到这种情况:某个方法要实现算法需要多个步骤,但其中有一些步骤是固定不变的,而另一些步骤则是不固定的。为了提高代码的可扩展性和可维护性,模板方法模式在这种场景下就派上了用场。在模板方法中,一个算法可以分为多个步骤,这些步骤的执行次序在一个被称为模板方法中定义,而算法的每个

装饰器模式

概述在实践生产中,新需求在软件的整个生命过程中总是不断出现的。当有新需求出现时,就需要为某些组件添加新的功能满足这些需求。添加新功能的方式有很多,我们可以直接修改已有组件的代码并添加相应的新功能,这显然会破坏已有组件的稳定性,修改完成后,整个组件需要重新进行测试,才能上线使用。这种方式显然违反了开放

适配器模式

概述适配器模式的主要目的是解决由于接口不能兼容而导致类无法使用的问题,适配器模式会将需要适配的类转换成调用者能够使用的目标接口。角色目标接口(Target):调用者能够直接使用的接口。需要适配的类(Adaptee):一般情况下,Adaptee类中有真正的业务逻辑,但是其接口不能被调用者直接使用。适配

限流算法

前言限流顾名思义是限制流量,目的是为了保障服务稳定运行,避免服务被流量冲垮。为什么要限流?因为再厉害的系统总有所能承载的能力上限,一旦流量突破这个上限,就会引起实例宕机,进而发生系统雪崩,带来灾难性后果。限流是系统自我保护的最直接手段,当流量超出服务处理能力时,部分请求将会被限流组件拦截,根据具体业

软件架构设计杂记

缓冲IO和直接IO对于缓冲IO,一个读操作会有3次数据拷贝:读:磁盘->内核缓冲区->用户缓冲区->应用程序内存写:应用程序内存->用户缓冲区->内核缓冲区->磁盘对于直接IO,一个读操作,会有2次数据拷贝,一个写操作,有反向的2次数据拷贝:读:磁盘->内核