Category: 编程
这是你的默认分类,如不需要,删除即可。
-
Java 策略模式(Strategy) 示例代码
Public策略模式:定义一系列算法,把每一个算法封装起来,并且使它们可互相替换。让算法的变化独立于使用算法的客户端。 核心角色: Strategy(策略接口):统一算法行为接口 ConcreteStrategy(具体策略):实现不同算法 Context(环境上下文):持有策略对象,对外提供调用,委托策略执行逻
-
Java 代理模式(Proxy)示例代码
Public代理模式分为静态代理、JDK 动态代理(接口代理)、CGLIB 动态代理(类代理,无需接口)。 作用:通过代理对象控制对真实对象的访问,在不修改目标类代码的前提下增加日志、权限、事务等附加逻辑。 1. 业务接口 & 真实目标类 // 业务接口 public interface UserService
-
Java 享元模式 (Flyweight) 示例代码
Public享元模式:运用共享技术,有效支持大量细粒度对象。区分内部状态(可共享,不变)和外部状态(不可共享,由外部传入),减少对象创建数量,降低内存占用。 适用场景:系统需要创建大量同类对象,造成内存压力;对象大部分状态可以外部化。 UML 角色 Flyweight(抽象享元):定义接口,接收外部状态 Con
-
GitLab 常用命令
Public说明:GitLab 本身没有独立命令,大部分是 git 客户端命令 + GitLab CI/CD、gitlab‑runner、gitlab‑shell 相关命令;分为:日常 Git 操作、远程仓库、分支、标签、回滚、gitlab‑runner、CI 调试、故障排查。 一、基础配置(全局 / 本地)
-
Java 外观模式(Facade)示例代码
Public外观模式:为子系统的一组接口提供一个统一高层入口,隐藏子系统内部复杂细节,客户端只需要调用外观类,不用直接和多个子系统类交互,降低耦合。 角色: 子系统类:完成各自独立功能,对外提供方法,不知道外观类存在 外观 (Facade) 类:持有各个子系统对象,封装组合调用,对外提供简单接口 客户端:只依赖
-
Java 组合模式 (Composite) 示例代码
Public组合模式:将对象组合成树形结构以表示 “部分‑整体” 的层次结构,使得用户对单个对象和组合对象的使用具有一致性。 角色: 抽象构件 (Component):统一叶子、容器的公共接口 叶子构件 (Leaf):叶子节点,没有子节点 容器构件 (Composite):包含子节点,可以管理子元素 Clien
-
Java 装饰器模式(Decorator)示例代码
Public装饰器模式:动态给对象增加额外职责,不修改原有类代码,通过包装原有对象实现功能增强,Java IO 就是典型装饰器模式。 核心角色: 抽象组件 (Component):定义被装饰对象和装饰器共同接口 具体组件 (ConcreteComponent):原始被装饰对象 抽象装饰器 (Decorator)
-
Java 桥接模式(Bridge) 示例代码
Public桥接模式核心思想:将抽象与实现分离,让两者可以独立扩展,避免类爆炸。 Abstraction:抽象层,持有实现层的引用(桥) RefinedAbstraction:扩展抽象 Implementor:实现接口 ConcreteImplementor:具体实现 场景举例:手机品牌(抽象) + 软件(实现
-
Linux 常见 Shell 脚本类型 & 常用脚本示例
PublicLinux 默认 shell:bash(最常用),还有 sh、zsh、dash;脚本后缀一般 .sh,后缀不是强制,靠文件头 #!/bin/bash 识别解释器。 一、日常高频 Shell 脚本分类 系统运维脚本:日志清理、磁盘监控、服务启停、备份、定时巡检 文件处理脚本:批量重命名、批量压缩解压、
-
Java 适配器模式(Adapter)示例代码
Public适配器模式分为类适配器(继承实现)、对象适配器(组合实现,实际项目最常用),还有接口适配器(缺省适配器)。 核心作用:将一个类的接口,转换成客户期望的另一个接口,让原本接口不兼容的类可以一起工作。 1、对象适配器(推荐,组合方式,Java 优先使用,规避单继承限制)<