- 博客(8)
- 收藏
- 关注
原创 设计模式:原型模式~
原型模式通过复制现有对象创建新实例,避免重复构造。它解决了手动复制对象时的重复代码、维护困难等问题。核心在于实现Cloneable接口,提供浅克隆(复制引用)和深克隆(递归复制引用对象)两种方式。示例中,浅克隆会导致原对象和克隆对象共享引用类型数据,而深克隆则完全独立。原型模式适用于创建成本高或需要保持对象一致性的场景,但需注意深浅克隆的选择以平衡性能和独立性。
2025-08-12 09:45:00
878
原创 设计模式:建造者模式解析
摘要: 建造者模式通过分离复杂对象的构建与表示,解决传统对象创建中的知识泄露、过程分散和安全风险问题。核心包含产品、抽象建造者、具体建造者和指挥者四个角色,实现方式包括标准四角色实现和链式调用变体。该模式在Spring框架中广泛应用,如BeanDefinitionBuilder用于构建Bean定义,通过链式调用设置属性、作用域等,确保对象构建的灵活性和安全性。
2025-07-28 10:00:45
1000
原创 键影重重:函数式接口与策略模式的完美碰撞
/ 策略1:保留首次出现的值(first, second) -> first // 冲突时保留第一个值));// 策略2:抛出自定义业务异常throw new BusinessException("重复键: " + existing.getId());));// 始终指定合并函数,避免默认行为。
2025-07-25 15:27:58
346
原创 设计模式:Spring的抽象工厂解析
摘要: 本文深入解析了抽象工厂模式,通过外设生产案例展示了其在解决产品族创建问题上的优势。相比简单工厂和工厂模式,抽象工厂能确保产品一致性、减少代码冗余,并支持更好的扩展性。文章包含模式结构图、代码重构示例(Java实现)及Spring实践(通过条件注解动态注入工厂),最后指出Spring核心接口BeanFactory本身就是抽象工厂的典型应用。该模式通过封装产品族创建过程,实现了开闭原则和依赖倒置,适合需要统一管理相关产品对象的场景。
2025-07-23 09:45:00
1453
原创 设计模式 - 简单工厂VS工厂方法模式
工厂模式摘要:工厂模式通过封装对象创建过程,解决硬编码实例化带来的重复代码、紧耦合和扩展性问题。简单工厂模式通过统一入口集中管理创建逻辑,但违反开闭原则;工厂方法模式采用多态化工厂实现专业化分工,更符合扩展需求。Spring中通过@Bean配置类实现简单工厂,用FactoryBean接口体现工厂方法模式。两种模式各有优劣:简单工厂适合固定组件,工厂方法更适合动态扩展场景。Spring的设计锚点如@Bean注解本质上是微型工厂的体现,实现了创建过程的解耦与控制。
2025-07-20 09:21:25
675
原创 设计模式-单例模式
单例模式是一种创建型设计模式,确保类只有一个实例,并提供全局访问点。它常用于配置管理、连接池等需要唯一实例的场景。实现方式包括饿汉式(线程安全)、懒汉式(线程不安全)、同步方法、双检锁(线程安全)、静态内部类(推荐)和枚举实现(最佳实践)。在Spring Boot中,可通过@Component、@Service等注解声明单例Bean,Spring容器通过ConcurrentHashMap和双重检查锁机制保证单例性。注意Spring的单例是容器级而非类级的单例。
2025-07-11 15:11:55
188
原创 设计模式 -分类
设计模式分为三大类:23种常用模式解决不同场景问题。创建型模式(5种)处理对象创建,如单例、工厂方法;结构型模式(7种)组织对象结构,如适配器、装饰器;行为型模式(11种)优化对象交互,如策略、观察者。核心是通过抽象封装实现解耦复用。接口设计遵循SOLID五大原则(单一职责、开闭原则等),扩展版本增加迪米特法则,强调对象间保持最少了解。设计模式是特定场景的最佳实践,需灵活运用。
2025-07-10 14:54:14
444
原创 Cron表达式(七子)
>定时任务,简单记录一下Cron表达式> Cron表达式简单来说就是一个字符串,其格式: Seconds Minutes Hours DayofMonth Month DayofWeek Year(七个域)>> 注意:SpringTask不支持年cron 时间表达式(配置时间规则) 秒 分 时 日 月 周 年 0-59 0-59 0-23 1-31 1-12 ...
2022-03-13 22:10:22
524
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅