23种设计模式(未完待续1)

23种设计模式:

**意义:**使代码走的更远,更强大,更安全,更加有体系,更加符合人类思考的一些方式。

面向对象软件设计SOLID原则:

单一职责原则(Single responsibility principle):一个类或者模块只负责完成一个职责。

开闭原则(Open-closed principle):对修改关闭,对拓展开放。

添加一个功能应该是在已有的代码的基础上进行扩展,而不是修改已有的代码。

里氏替换原则(Liskov substitution principle):子类对象能够替换程序中父类对象出现的任何地方,并且保证原来程序的逻辑行为不变及正确性不被破坏。一般利用多态。

接口隔离原则(Interface segregation principle):客户端不应该强迫依赖它不需要的接口

依赖倒置原则(Dependency inversion principle):高层模块(调用者)不要依赖低层模块(被调用者),高层模块和低层模块应该通过抽象来相互依赖。除此之外,抽象不要依赖具体实现细节,具体实现细节依赖抽象。

创建型模式:

单例模式:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QYNxbeHQ-1584790288181)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584625954857.png)]
在这里插入图片描述

饿汉式模板:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l0MWsW10-1584790231786)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584624282255.png)]

懒汉式模板:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-canVPXhI-1584790231788)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584624578470.png)]

DCL懒汉式模板:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UeDUiGko-1584790231790)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584624942048.png)]

改进的懒汉式模板:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6oe0RcS8-1584790231792)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584625355994.png)]

破解以上:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Onf6EBew-1584790231793)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584625322623.png)]

枚举模板:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xi3Sm9RI-1584790231795)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584625775376.png)]

工厂模式:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ajditiis-1584790231796)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584626246900.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-704WFxSW-1584790231797)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584626257068.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FtQJpGDN-1584790231799)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584626378120.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WK2EFH51-1584790231800)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584626386905.png)]

无工厂的时候(顾客自己买的时候也需要自己造):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BhhldKsQ-1584790231801)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584626551668.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AzQfbNkA-1584790231802)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584626588726.png)]
在这里插入图片描述
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PJsKa2Ux-1584790231803)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584626616139.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-501fW1Jv-1584790231804)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584627163798.png)]

简单工厂模式:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zZV7Ha2J-1584790231807)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584627642542.png)]

弊端:增加一种车型,也需要改变工厂的代码,不满足开闭原则

建工厂(工厂负责生产车):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4TRRFrY7-1584790231808)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584626903316.png)]

顾客通过工厂来买车,不需要关心车的生产:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Fs0vL7WU-1584790231809)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584627063186.png)]

工厂方法模式:
工厂的接口:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jjCK8ufh-1584790231811)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584627913740.png)]

特斯拉的工厂:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WanUQXcO-1584790231812)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584627954353.png)]

五菱的工厂:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3iqLNMqM-1584790231813)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584628013996.png)]

顾客找相应的车的车厂买:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yCySmUKW-1584790231814)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584628096938.png)]

抽象工厂模式:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lLTOg8Ds-1584790231815)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584676188971.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Hk1VUuzv-1584790231816)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584676300951.png)]

建手机接口:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2V4d5qyc-1584790231818)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584676549707.png)]

建路由器接口:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KeG18g2W-1584790231819)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584676638352.png)]

实现小米手机:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ws2cAnX0-1584790231820)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584676704960.png)]

实现华为手机:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0DcxlGwz-1584790231821)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584676743040.png)]

实现小米路由器:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WHiNRMSR-1584790231822)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584676780341.png)]

实现华为路由器:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KhUbGI7m-1584790231823)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584676817347.png)]

建工厂接口:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ggIAlF4o-1584790231824)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584676950503.png)]

建小米工厂:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Aep8kiXg-1584790231825)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584677007247.png)]

建华为工厂:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nfuE2G8t-1584790231826)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584677054226.png)]

顾客:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X3VHISbG-1584790231827)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584677499138.png)]

建造者模式:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aH2rkNnL-1584790231828)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584678170890.png)]

定义抽象的建造者:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tHlOyBzg-1584790231829)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584678726056.png)]

定义产品:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8UCGy9It-1584790231830)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584678668944.png)]

定义具体的建造者:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XYkZT99c-1584790231831)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584678840641.png)]

指挥者:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ENSAhDDc-1584790231833)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584679103417.png)]

测试:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T4qruNNy-1584790231834)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584679194393.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F99KN5lo-1584790231835)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584680160726.png)]

原型模式(克隆):

原型的类需要实现Cloneable接口,在重写clone()方法。

原型对象调clone()方法得到新的对象。

克隆出来的新对象,与原型对象内容(值)相同,但是hashcode不同(两个不同对象)。

浅克隆(两个对象指向同一个date)暗星:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fgcHxGAZ-1584790231837)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584760950176.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aaY2QHfP-1584790231841)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584760594363.png)]
在这里插入图片描述
原型对象属性date的值改变, 克隆对象的属性date的值也会改变。

指向同一个date。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AJUMPFVU-1584790231842)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584760681645.png)]

深克隆:

把原型类中的重写的clone()方法改变(把它的引用类型属性也进行克隆):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OUXIsFD0-1584790231843)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584761319471.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f2pQIYql-1584790231844)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584761403925.png)]

两个对象指向了不同的date。原型对象的属性date改变,不会影响克隆对象的属性date的值。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QXdE77vN-1584790231845)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584761411306.png)]

结构型模式:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xlGhGuEQ-1584790231846)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584761866735.png)]

适配器模式:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nfoobNUk-1584790231848)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584764345154.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2Griok5Q-1584790231850)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584763325279.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n3XBFb69-1584790231851)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584764307034.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8XN5VWkw-1584790231852)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584763347126.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E6mJ4BCv-1584790231853)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584763432868.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XKt09j16-1584790231854)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584763521977.png)]

1.用继承(类适配器)网线方式写适配器:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JJJqXR00-1584790231855)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584763615484.png)]

1.1补全客户端类(电脑)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5cvrJWMj-1584790231856)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584763820768.png)]

2.用组合(对象适配器:常用)方式写适配器:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o85qD2Dw-1584790231857)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584763957111.png)]

2.1补全客户端类(电脑)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qUmeYPrZ-1584790231858)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584764080060.png)]

代理模式:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mhhcwdRV-1584790231859)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584765183770.png)]

静态代理:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JpoZ4SEj-1584790231860)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584766309466.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QIqz3zND-1584790231861)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584765314135.png)]

租房这件事:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7GwoQFc7-1584790231862)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584765694914.png)]

房东:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LIJdEODY-1584790231863)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584765717209.png)]

代理(中介):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SWVZyvPw-1584790231864)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584765646328.png)]

顾客:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JEkY1FJq-1584790231865)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584765810397.png)]

代理还可以有一些自己的方法(自己能干的事):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JVSizcOA-1584790231866)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584766000912.png)]

顾客改为:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EW3v5yAJ-1584790231867)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584766105321.png)]

动态代理:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3rHP6S1T-1584790231868)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584769262040.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AOuFSHtH-1584790231872)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584768260638.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gmNupoE4-1584790231873)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584768496199.png)]

照样可以给代理增加一些自己的方法:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3kaUxjqk-1584790231874)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584768642393.png)]

形成万能的动态代理模板:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qP8pZqGY-1584790231875)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584768882761.png)]

桥接模式:

在一个维度扩展,而不影响另外一个维度。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NL7uiPKw-1584790231876)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584784452080.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kZMj5hvB-1584790231877)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584785855544.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ggfL1cYl-1584790231878)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584786125878.png)]

先引入多继承结构:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cc2SJKcR-1584790231879)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584785128542.png)]

转化为这种桥接模式(有两个维度),方便扩展。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SuYDoIuL-1584790231880)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584784668987.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-odqEPcfi-1584790231881)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584784731061.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KvzdhIH9-1584790231882)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584784784807.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zrsHhEL3-1584790231883)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584784805898.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kM1oFLS8-1584790231884)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584784972527.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1ChSCkXM-1584790231885)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584785026736.png)]

将两种维度连接在一起:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O82kbxf6-1584790231887)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584785335924.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1jGevyHW-1584790231888)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584785354129.png)]

装饰者模式:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LZiJp47J-1584790231889)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584787922850.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K1tv2dsb-1584790231890)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584787652901.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZjoFg0Vy-1584790231891)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584787614487.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GB2SiWjf-1584790231892)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584786794893.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0sPBkI4b-1584790231893)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584786810378.png)]

创建抽象的装饰器,实现组件接口。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1ySBF8I7-1584790231895)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584786921412.png)]

添加第一个装饰类,需继承装饰器。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eNvqwwIs-1584790231896)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584787277391.png)]

测试:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lWEPBu47-1584790231897)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584787302475.png)]

再添加第二个装饰类,继承装饰器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pXEZOSVf-1584790231898)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584787502352.png)]

测试:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dY5YqMRW-1584790231899)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1584787547606.png)]

片转存中...(img-GB2SiWjf-1584790231892)]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值