
设计模式
文章平均质量分 65
ayugudu
兴趣使然
展开
-
结构型-组合模式
组合模式组合模式又叫部分整体模式,创建了对象组的树形结构。组合模式是依据树形结构来组合对象,用来表示部分以及整体的层次关系。其实就是一对多的关系,只不过将所有的类抽行成了实体类(所有类都有的是抽象方法,其他的则是普同方法)问题实现学校下面的学院里面的系代码实现首先将三者的共同点抽成一个抽象类。/** * @program: sheji * @description: 将所有下级节点抽象成一个抽象类(适用于树形结构) * @author: wfg * @create: 2021-05-原创 2021-06-02 21:24:56 · 60 阅读 · 0 评论 -
结构型-组合模式
组合模式组合模式又叫部分整体模式,创建了对象组的树形结构。组合模式是依据树形结构来组合对象,用来表示部分以及整体的层次关系。其实就是一对多的关系,只不过将所有的类抽行成了实体类(所有类都有的是抽象方法,其他的则是普同方法)问题实现学校下面的学院里面的系代码实现首先将三者的共同点抽成一个抽象类。/** * @program: sheji * @description: 将所有下级节点抽象成一个抽象类(适用于树形结构) * @author: wfg * @create: 2021-05-原创 2021-06-02 21:23:05 · 102 阅读 · 0 评论 -
结构型-外观模式
外观模式为子系统中的一组接口提供一个一致的界面。Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。依赖转置的原则影院问题思路解析:定义一个高层接口,给系统的一组接口提供一个 一致的界面(比如在高层接口中提供的四个方法ready,play,pause,)uml外观类:为调用端提供统一的调用接口,外观类知道哪些子系统负责处理请求,从而将调用端的请求代理给适当的子系统对象代码实现爆米花系统/** * @program: sheji * @description:原创 2021-06-02 21:21:17 · 75 阅读 · 0 评论 -
结构型模式-装饰者模式
装饰者模式装饰者模式是对原有功能类增加一些新的功能(行为)。但是为原有功能类增加新的功能行为,继承或组合也能做法,为什么要使用装饰者模式呢?这是因为要对原有功能类动态地同时增加多个功能行为(包括相同行为或不同行为),单独使用继承或组合实现将产生大量的子类(“类爆炸”),而使用装饰者模式则可以在保持良好的扩展性的同时避免“类爆炸”情况的出现。星巴克咖啡问题咖啡问题装设者模式解决此问题原理代码实现装饰者模式,是将即符合装饰者也符合被装饰者的属性给抽象出来,被装饰者通过继承来实现,装饰者不仅要原创 2021-06-02 21:19:50 · 138 阅读 · 0 评论 -
结构型模式-桥接模式
桥接模式介绍**将抽象与实现放在两个不同的类层次中,使两个层次可以独立改变。通过使用封装、聚合、及继承让类承担不同职责,主要特点是将抽象与行为实现分离开来,保证各部分的独立性与功能扩展**手机问题传统模式下,手机下面有很多分类(样式+品牌),当我们分别实现样式+品牌时会进行多次继承,,当我们增加一个具体详细的分类时,往往需要修改很多东西导致类爆炸uml将最下面的抽取(品牌)成接口,并在phone(样式)进行聚合(相当于从原来的继承方式改成了聚合),因此增加新的样式时,只需要在phone下面原创 2021-06-02 21:18:06 · 122 阅读 · 0 评论 -
结构型模式-适配器模式
设计模式-适配器模式介绍将某个类的接口转换成客户端期望的另一接口表示,目的主要是兼容性,让另个不能在一起工作的另个类可以协同工作适配者与被适配者的关系是解耦的,是通过中间的适配类实现(有种类似两表中间的关系表)类适配器就是将接口(200),转换成自己所需要的(5v)uml类图适配器类,通过实现接口,继承被适配者。使用者仅需依赖接口即可。代码实现被适配者/** * @program: learn_day01 * @description: 被适配者 * @a原创 2021-06-02 21:16:08 · 93 阅读 · 0 评论 -
创建型模式-建造者模式
建造者模式介绍1.将复杂对象的建造过程抽象出来,使这个抽象过程不同实现方法可以构造不同表现(属性)的对象。将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。2.允许用户通过指定复杂对象类型和内容就可以构建。当我们使用Builder的时候,一般来说,是因为创建这个对象的步骤比较多,每个步骤都需要一个零部件,最终组合成一个完整的对象。建造者模式具有四个角色:1 product(产品角色):一个具体的产品对象(属性,不同类型具有不同的功能或方法)2 builder(抽象建原创 2021-06-02 21:14:50 · 107 阅读 · 0 评论 -
创建型模式-原型模式
原型模式介绍原型模式:通过原型模式指定创建对象的种类,通过拷贝这些原型,创建新的对象。允许对象在创建另一个可定制的对象,无需知道细节。原理:通过将原型对象传给要创建的对象,这个对象请求原型对象拷贝他们自己来实现(需要继承Cloneable) 对象.clone()代码实现原型类/** * @program: demo * @description: 克隆羊 * @author: wfg * @create: 2021-05-04 10:00 */@Data@Getter@S原创 2021-06-02 21:14:00 · 98 阅读 · 0 评论 -
创建型-工厂模式
工厂模式原本创建对象实例时,需要在业务阶段根据不同的业务需求创建不同的对象,虽然简单但是当需要扩展业务时(比如增加一个对象实例),不仅需要创建新的对象(扩展)还需要对业务代码进行修改(必须要对所有业务需求修改!!)。极大违反了扩展开放,对修改关闭的开闭原则,因此我们需要一个管理实例对象的类(当进行修改时只需要修改此类即可)简单工厂模式(介绍)1 简单工厂模式,是创建型模式,是由一个工厂对象决定创建哪一种产品类的实例2 简单公厂模式:定义了一个创建对象的类,由这个类来封装了实例化对象的行为3 当我原创 2021-06-02 21:11:26 · 115 阅读 · 0 评论 -
创建型模式 -单例模式
单例模式介绍: 单例模式,是采取一定方法在,整个系统中,对某个类只能存在一个对象实例,并只提供一个获取其对象的实例饿汉式(静态常量)//饿汉式(静态常量)class Test { // 1.构造器私有化 private Test() { } //2.使用组合方式,构建此类的实例 private final static Test test = new Test(); //3.公共接口提供方法创建 public static Test g原创 2021-06-02 21:09:38 · 61 阅读 · 0 评论