zoukankan      html  css  js  c++  java
  • 2020-03-11

    庚子鼠年 己卯月 癸丑日

    描述

    装饰者模式:https://www.cnblogs.com/WindSun/p/10263459.html

    https://blog.csdn.net/qq_40674583/article/details/104804168

    技术博客:

    随笔

    装饰者模式(无限套娃)

    ​ 装饰模式(Decorator Pattern) :动态地给一个对象增加一些额外的职责(Responsibility),就增加对象功能来说,装饰模式比生成子类实现更为灵活。其别名也可以称为包装器(Wrapper),与适配器模式的别名相同,但它们适用于不同的场合。根据翻译的不同,装饰模式也有人称之为“油漆工模式”,它是一种对象结构型模式。

    img

    装饰模式包含如下角色:

    Component: 抽象构件

    ConcreteComponent: 具体构件(只管执行)

    Decorator: 抽象装饰类(实现具体构建的方法)

    ConcreteDecorator: 具体装饰类(调用父类构造器实例化)

    装饰者模式多层加密

    img

    个人理解

    感觉装饰者模式就是无限套娃,Component: 抽象构件会产生两个类,一个是具体的实现,一个是装饰品的抽象类,然后就是不同的装饰品继承这个抽象类。

    具体的实现:继承接口(Cipher),创建这个原型(SimpleCipher),要被装饰的东西。

    抽象实现:继承接口(Cipher),创建抽象类(CipherDecorator),通过构造方法传入(Cipher),然后调用Cipher的装饰方法。

    装饰类实现:继承抽象实现,复写父类的方法 调用 + 装饰

    例如:

    public class AdvancedCipher extends CipherDecorator {
        protected AdvancedCipher(Cipher cipher) {
            super(cipher);
        }
    
        public String encrypt(String plainText) {
            String result = super.encrypt(plainText);
            result=mod(result);
            return result;
        }
    
        public String mod(String text) {
            String str="";
            for(int i=0;i<text.length();i++){
                String c=String.valueOf(text.charAt(i)%6);
                str+=c;
            }
            return str;
        }
     }
    

    markdown语法记忆

    - [ ] 计划任务
    - [x] 完成任务
    
    链接: [link](https://www.csdn.net/).
    
    图片: ![Alt](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9hdmF0YXIuY3Nkbi5uZXQvNy83L0IvMV9yYWxmX2h4MTYzY29tLmpwZw)
    
    带尺寸的图片: ![Alt](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9hdmF0YXIuY3Nkbi5uZXQvNy83L0IvMV9yYWxmX2h4MTYzY29tLmpwZw =30x30)
    
    居中的图片: ![Alt](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9hdmF0YXIuY3Nkbi5uZXQvNy83L0IvMV9yYWxmX2h4MTYzY29tLmpwZw#pic_center)
    
    居中并且带尺寸的图片: ![Alt](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9hdmF0YXIuY3Nkbi5uZXQvNy83L0IvMV9yYWxmX2h4MTYzY29tLmpwZw#pic_center =30x30)
    
    
    一个具有注脚的文本。[^1]
    [^1]: 注脚的解释
    
    
    
  • 相关阅读:
    2017.0321.数字电路与系统-触发器
    2017.0320.数字电路与系统-触发器
    2017.0319.数字电路与系统-算术逻辑单元
    2017.0317.数字电路与系统-减法器
    2017.0316.算术运算电路和ALU
    2017.0315.数字电路与系统-奇偶校验器
    2017.0313.数字电路与系统-数据选择器分配器的理解
    2017.0311.数字电路与系统-数据选择器分配器的理解
    2017.0310.数字电路与系统-数据选择器分配器的理解
    2017.0309.数字电路与系统-组合电路的模块分析
  • 原文地址:https://www.cnblogs.com/chang1024/p/12465081.html
Copyright © 2011-2022 走看看