logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

设计模式详解(十六)——观察者模式

在观察者模式中,主题是通知的发布者,它发出通知时并不需要知道谁是它的观察者,可以有任意数目的观察者订阅并接收通知。然后我们实现了具体的主题对象类 ConcreteSubject 和具体的观察者对象类 ConcreteObserver,在具体主题对象类中添加、删除和通知观察者对象,更改状态值并且通知所有的观察者对象。因此当后面更多的用户关注该公众号,只要将新的观察者加入到该公众号的用户列表中,当公众

#设计模式#观察者模式#java
设计模式详解(十)——装饰器模式

装饰器模式也称为包装模式是指在不改变现有对象结构的情况下,动态地给该对象增加一些职责,即增加其额外功能,提供了比继承更有弹性的替代方案(扩展原有对象的功能),属于结构型模式。从代码层面而言,是对类的一个扩展或者是修饰,从传统方法而言,我们可以使用继承来对某一个类进行扩展,但是往往会导致会出现非常多的子类,如果我们要想避免这种情况,那么我们就可以使用设计模式中的——装饰器模式。比如平时我们都肯定喝过

#设计模式#装饰器模式#java
设计模式详解(九)——桥接模式

与多层继承方案不同,它将两个独立变化的维度设计为两个独立的继承等级结构,并且在抽象层建立一个抽象关联,该关联关系类似一条连接两个独立继承结构的桥,故名桥接模式。(2)抽象化角色和实现化角色可以以继承的方式独立扩展而互不影响,在程序运行时可以动态将一个抽象化子类的对象和一个实现化子类的对象进行组合,即系统需要对抽象化角色和实现化角色进行动态耦合。(1)如果一个系统需要在构件的抽象化角色和具体化角色之

#设计模式#桥接模式#java
设计模式之七大原则(二)——里氏替换原则、依赖倒转原则

上层模块不应该依赖下层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象,其核心思想是:要面向接口编程,不要面向实现编程。

#设计模式#里氏替换原则#java
设计模式之七大原则(三)——接口隔离原则、迪米特法则、组合/聚合复用原则

接口隔离原则(Interface Segregation Principle, ISP):使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口。一个类对另一个类的依赖应该建立在最小的接口上。根绝接口隔离原则,当一个接口太大时,我们需要将它分割成一些细小的接口,使用该接口的客户端只需知道与之相关的方法即可。每一个接口应该承担一种相对独立的角色,不干不该干的事情,干该干的事请

#设计模式#接口隔离原则#迪米特法则
设计模式详解(十三)——享元模式

享元模式是一种用于优化性能的软件设计模式,它通过共享对象来减少内存中对象的数量,从而降低内存消耗并提高系统性能。享元模式将对象的状态分为内部状态和外部状态,其中一些具有相同内部状态的对象可以被多个对象共享,而不是为每个对象都创建新的实例;而外部状态是变化的,不能共享。虽然我们创建了多次小汽车,但它们相同颜色和相同发动机排量的共享同一个享元对象,因此创建相同相同颜色和相同发动机排量的汽车时,可以减少

#设计模式#享元模式
idea使用checkStyle出错——The scan failed due to an exception: An error occurred while scanning a file.

去checkstyle-idea官网下载所需要的版本,如果需要最新的,可以直接在idea中更新就可以,但是想要其它版本,需要去官网下载旧版本。(如果你们不是这两个版本,还是报这个错误,也可能是版本不兼容问题,可以更换CheckStyle-IDEA 版本,或者更新IDEA)IntelliJ IDEA 2021.3.3 (社区版)和CheckStyle-IDEA 版本:5.76.0不兼容,导致运行报错

#intellij-idea#java#ide
设计模式详解(四)——抽象工厂模式

抽象工厂模式将具体产品的创建延迟到具体工厂的子类中,这样将对象的创建封装起来,可以减少客户端与具体产品类之间的依赖,从而使系统耦合度低,这样更有利于后期的维护和扩展。抽象工厂模式将具体产品的创建延迟到具体工厂的子类中,这样将对象的创建封装起来,可以减少客户端与具体产品类之间的依赖,从而使系统耦合度低,这样更有利于后期的维护和扩展。抽象工厂模式:便于交换产品系列,同时让具体的创建实例过程与客户端分离

#设计模式#抽象工厂模式#java
设计模式之七大原则(一)——单一职责原则、开放-关闭原则

把创建Type1类做成抽象类,并提供一个抽象的 type方法,让子类去实现即可,这样我们有新的水果种类时,只需要让新的水果类继承 Type1,并实现 type方法即可,使用方的代码就不需要修改了, 从而满足了开闭原则。简单说明一下,首先我们可以对某个类来说,即一个类应该只负责一项职责。当职责1需求变更而改变A时,可能造成职责2执行错误,所以需要将类A的粒度分解为A1,A2。在后来发现新问题,并不是

#设计模式#单一职责原则#java
账号密码无错误,xshell可以连接,但是WindTerm连接失败

连接WindTerm是,账号密码是正确的,但是一输入账号,就报The remote host closed the connection错误,或者是Unknown error错误

文章图片
#linux#运维#服务器
    共 12 条
  • 1
  • 2
  • 请选择