首页 > 其他分享 >《图解设计模式》 第五部分 一致性

《图解设计模式》 第五部分 一致性

时间:2024-11-05 09:19:10浏览次数:1  
标签:图解 show display FullBorder 一致性 new 设计模式 Border Display

第11章 Composite 模式

文中举例文件夹系统,

简单说明:

这里可以讲File 和 dirctory 看作一种东西 Entry。在 Entry 的基础上分化两者,构成结构。
能够使容器与内容具有一致性,创造出递归结构

第12章 Decorator 模式

public class Main{
    public static void main(String[] args){
        Display b1 = new StringDisplay("Hello, world.");
        Display b2 = new SideBorder(b1, '#');
        Display b3 = new FullBorder(b2);
        b1.show();
        b2.show();
        b3.show();

        //这里输出是多层包围
        Display b4 = new SideBorder(
            new FullBorder(
                new FullBorder(
                    new SideBorder(
                        new FullBorder(
                            new StringDisplay("Hello, world.")
                        ),
                        '*'
                    )
                )
            ),
            '/'
        );
        b4.show();
    }
}

//Border中含有 display,保证了Border 可以嵌套
public abstract class Border extends Display{
    protected Display display;
    protected Border(Display display){
        this.display = display;
    }
}

标签:图解,show,display,FullBorder,一致性,new,设计模式,Border,Display
From: https://www.cnblogs.com/dasuxd/p/18527210

相关文章

  • 设计模式小结一策略(strategy)模式
    先上结论:    一个不懂设计模式的程序员,是绝对写不好程序代码的,心中没有设计模式的概念,你写出代码,内行一看就是个草台班子。这篇文章仅是个人设计模式学习的一篇笔记,算是抛砖引玉,详细的概念和用法还需要自己敲代码一个个验证体会。开干!一、程序设计的基本原则:1、封......
  • 《图解设计模式》 第三部分 生成实例
    第五章Singleton模式单例模式应该是开发中用的比较多的模式。这里我只记一个知识点。多线程下安全的单例模式的一个知识点publicclassSingleton{publicstaticInstanceClassinstance=null;publicstaticSingletongetInstance(){if(instance==null){......
  • MySQL8.0安装配置教程【超级详细图解】
    万分感谢.参考文章内容:https://blog.csdn.net/m0_73442728/article/details/131359479万分感谢.参考文章内容:https://blog.csdn.net/qq_40187702/article/details/130618805目录**一、MySQL下载与安装二、MySQL安装三、MySQL连接测试四、配置环境变量一、MySQL下载与安......
  • 《图解设计模式》 第二部分 交给子类
    交给子类TeamplateMethod模式--将具体任务交给子类核心代码publicabstractclassAbstractDisplay{publicabstractvoidopen();publicabstractvoidprint();publicabstractvoidclose();publicfinnalvoiddisplay(){open();for(inti=0;......
  • 《图解设计模式》 第一部分,适应设计模式
    第一章Iterator模式--一个一个遍历为什么要使用Iterator模式?正常遍历我们使用for循环即可,为什么要在集合引入Iterator这个角色呢?egwhile(it.hasNext()){Bookbook=(Book)it.next();System.out.println(book.getName());}这里的while循环并不依赖于Boo......
  • 设计模式之单例模式
    设计模式之单例模式单例模式是23种常用设计模式中最简单的设计模式之一,它提供了一种创建对象的方式,确保只有单个对象被创建。这个设计模式主要目的是想在整个系统中只能出现类的一个实例,即一个类只有一个对象。单例模式#include<string.h>#include<iostream>usingstd::co......
  • Spring7中事务传播机制形象图解
    一、Spring的7种事务传播机制Spring事务传播机制是指在多个事务方法相互调用的情况下,事务如何在方法之间进行传播和管理的机制。通过事务传播机制,可以控制事务的范围和行为,保证多个事务方法的一致性和完整性。Spring提供了七种事务传播行为,分别是:REQUIRED、SUPPORTS、MANDATORY......
  • 微服务设计模式:节流模式(Throttling Pattern)
    微服务设计模式:节流模式(ThrottlingPattern)定义节流模式(ThrottlingPattern)是一种控制资源使用速率的设计模式,广泛应用于云计算和微服务架构中,以防止服务过载和资源耗尽。它通过限制客户端请求的数量,保证系统稳定性和可用性。结构节流模式的核心组件包括:请求过滤器:拦......
  • c#-设计模式之观察者模式
    c#-设计模式之观察者模式概念指多个对象之间存在一种一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。该模式又称为包括发布-订阅(Publish/Subscribe)模式,该模式是行为型模式。结构图角色Subject(观察目标):观察目标是指被观察的对象,一般......
  • 设计模式之——代理模式
    一、代理模式概述在C++中,代理模式是一种结构型设计模式,它为其他对象提供一种代理,从而控制对这个对象的访问。代理模式的作用主要体现在以下几个方面:职责清晰:真实的角色即实现实际的业务逻辑,不用关心其他非本职的事务,通过后期的代理来完成事务,使得编程简洁清晰。例如在视频......