• [设计模式] 浅谈依赖倒置原则

    依赖倒置原则 原则说明: 依赖倒置原则(Dependency Inversion Principle,DIP),高层模块不应该依赖于低层模块,两者都应该依赖于抽象;抽象不应该依赖于细节,细节应该依赖于抽象。 为什么要遵守该原则 通过依赖抽象(接口或抽象类)可以用来降低类之间的耦合度,提高系统的可扩展性和可维护性。 用一个简单的例子说明 // 抽象类或接口 public interface Reader { String read(); } // 低层模块 public class FileReader implements Reader ...

    2024 年 4 月 16 日 星期二
    / ,
    7
    阅读全文
  • [设计模式] 浅谈里氏替换原则

    里氏替换原则 原则说明: 里氏替换原则(Liskov Substitution principle)是对子类型的特别定义,派生类(子类)对象可以在程序中代替其基类(超类)对象。 为什么要遵守该原则 违反里氏替换原则会导致代码的复杂性增加,可读性降低,同时也会增加代码修改的难度。当一个子类不能完全替代其父类时,这就增加了出错的可能性。 按我自己遇到的场景去理解,我调用了一个计算面积的方法,而子类无法完全替代超类,导致一个Bug的产生。下面就是一个简单的案例。 用一个简单的例子说明 假定我们有两个类,一个是矩形,一个是正方形继承矩形。 pub...

    2024 年 4 月 16 日 星期二
    / ,
    22
    阅读全文
  • [设计模式] 浅谈单一职责原则

    单一职责原则 原则说明: 单一职责原则(Single responsibility principle)规定每个类都应该有一个单一的功能,并且该功能应该由这个类完全封装起来。 为什么要遵守该原则 违反单一职责原则会导致代码的复杂性增加,可读性降低,同时也会增加代码修改的难度。当一个类承担的职责过多时,这个类的复杂性就会增加,这就增加了出错的可能性。 用一个简单的例子说明 假定我们要输出一个日志,定义了一个日志类。 public class Log { public void getLog() { // 获取Log ...

    2024 年 4 月 15 日 星期一
    /
    31
    1
    阅读全文
  • [C++] 如何使用 Crypto++

    本文使用环境 系统:windows 11 开发环境: vs2010 Crypto++ 功能介绍 Crypto++ 库是一个用c++ 编写的免费的密码类库,包括密码,消息认证代码,单向哈希函数,公钥密码系统,密钥协议方案和压缩压缩。 下载 官方下载地址 编译工程 下载解压后是一个工程目录,打开cryptest.sln工程(本文介绍静态库的编译和使用) | 工程名 | 说明 | | --- | --- | | cryptdll | 生成cryptopp.dll动态库 | | dlltest ...

    2024 年 4 月 10 日 星期三(已编辑)
    / ,
    11
    阅读全文
  • [C++] 如何使用libcurl.lib

    本文使用环境 系统:windows 11 开发环境: vs2010 libcurl库的功能 libcurl主要功能就是用不同的协议连接和沟通不同的服务器~也就是相当封装了的sockPHP 支持libcurl(允许你用不同的协议连接和沟通不同的服务器)。 libcurl当前支持http, https, ftp, gopher, telnet, dict, file, 和ldap 协议。 libcurl同样支持HTTPS证书授权,HTTP POST, HTTP PUT, FTP 上传(当然你也可以使用PHP的ftp扩展), HTTP基本表单上传,代理,c...

    2024 年 4 月 10 日 星期三
    / ,
    62
    阅读全文
  • [Java]边界类型和静态字段访问

    在 Java 的泛型中,边界类型是用来限制泛型参数的类型范围的。 首先,我们定义两个类,它们都有一个静态字段 public class Parent { public static final String FIELD = "Parent"; } public class Child extends Parent { public static final String FIELD = "Child"; } 然后,我们定义一个泛型类,它尝试访问泛型参数的静态字段: public class Container<T exten...

    2024 年 1 月 4 日 星期四(已编辑)
    /
    14
    阅读全文
  • [CMD]给Ping加上时间信息

    > 前言:最近更新1000M宽带,把光猫换光猫棒,实测一下网络的稳定性。记录一下ping的命令行。 1. 先给ping命令加上时间。(用PowerShell) ```cmd ping.exe -t www.baidu.com | Foreach{"{0} - {1}" -f (Get-Date),$_} ``` 2. 随着时间边长,早期的就被覆盖了,然后在加个保存到文件的命令。 ```cmd ping.exe -t www.baidu.com | Foreach{"{0} - {1}" -f (Get-Date),$_} >> d:/ping.txt ```

    2022 年 9 月 13 日 星期二(已编辑)
    /
    30
    阅读全文
  • [Java]RetryTemplate重试机制工具

    基于 RetryTemplate,封装为工具包使用 RetryUtils package com.common.utils; import com.common.enums.RetryTypeEnum; import lombok.SneakyThrows; import org.springframework.retry.RecoveryCallback; import org.springframework.retry.RetryCallback; import org.springframework.retry.RetryState; import o...

    2022 年 4 月 27 日 星期三(已编辑)
    / ,
    9
    阅读全文
  • [Java]Redis分布式锁

    RedisLock.java package com.bf.form.common.aspect; import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; import java.lang.annotation.*; /** @Author: hyakutake @Date: 2022/05/23 10:00 @Description: **/ @Documented @Target({ElementType.METHO...

    2021 年 11 月 18 日 星期四(已编辑)
    / ,
    11
    阅读全文
  • [Java]POI-工具类

    前言:Java 中操作 Excel 的工具类 - 基于 POI 封装 ExcelUtils.java import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.poi.hssf.usermodel.*; import org.apache.poi.hssf.util.HSSFColor; import org.apache.poi.ss.usermodel.*; impo...

    2021 年 10 月 29 日 星期五(已编辑)
    / ,
    7
    阅读全文
关于关于本站
更多时间线
联系发邮件

© 2021-2025 浙ICP备2022002334号-3 hyakutake. | RSS | 站点地图 | | Stay hungry. Stay foolish.

Powered by Mix Space&. | 萌ICP备20248788号 |