
设计模式
文章平均质量分 82
设计模式
码上一元
8年Java后端开发,5年技术组长,先后负责过财务系统、大数据中台、基础架构平台,现担任某互联网公司财务项目负责人。
展开
-
【观察者】设计模式:构建灵活且响应式的软件系统
观察者模式是一种行为设计模式,它定义了对象之间的一对多依赖关系,使得当一个对象状态发生变化时,所有依赖于它的对象都会得到通知并自动更新。观察者模式提供了一种强大的方法来实现对象之间的松耦合通信。它允许系统在不修改现有代码的情况下,通过增加新的观察者来扩展其功能。通过使用观察者模式,我们可以构建出更加灵活、可维护和响应式的软件系统。原创 2024-09-06 14:30:11 · 816 阅读 · 0 评论 -
【装饰器】设计模式:灵活的替代继承方案
装饰器设计模式提供了一种动态添加功能的方法,而无需改变对象本身的结构。这种模式通过创建一个包含原有对象的封装对象来扩展其行为,从而避免了多重继承的复杂性。原创 2024-09-04 08:30:00 · 745 阅读 · 0 评论 -
【适配器】设计模式:旧系统迁移与第三方库集成的解决方案
适配器设计模式:旧系统迁移与第三方库集成的解决方案原创 2024-09-03 13:31:21 · 3027 阅读 · 0 评论 -
【建造者】设计模式:构建复杂对象的艺术
建造者设计模式:构建复杂对象的艺术原创 2024-08-31 19:56:16 · 761 阅读 · 0 评论 -
【策略方法】设计模式:构建灵活的算法替换方案
策略模式,设计灵活的算法替换方案原创 2024-08-30 17:50:54 · 1900 阅读 · 0 评论 -
【职责链】设计模式:构建灵活的请求处理系统
详细介绍职责链模式的实现原创 2024-08-26 11:42:38 · 892 阅读 · 0 评论 -
【模板方法】设计模式:构建可扩展软件的基石
模板方法模式在一个方法中定义了一个算法框架,将一些步骤延迟到子类中实现。它使得子类可以在不改变算法结构的情况下,重新定义算法的某些特定步骤。原创 2024-08-24 15:15:59 · 794 阅读 · 0 评论 -
工厂模式总结
需求:设计一个咖啡店点餐系统。传统模式包含咖啡类(Coffee)、两个子类 美式咖啡(AmericanCoffee)和拿铁咖啡(LatteCoffee),咖啡店(CoffeeStore),咖啡店具有点咖啡的功能。类图如下:orderCoffee代码/** * 点咖啡的功能 * @param type * @return Coffee */ public Coffee orderCoffee(String type){ ..原创 2021-10-22 16:59:55 · 191 阅读 · 0 评论 -
原型模式总结
原型模式:通过给出一个原型对象来指明所创建的对象的类型,然后使用自身实现的克隆接口来复制这个原型对象,该模式就是用这种方式来创建出更多同类型的对象。实现:Object类的clone方法可以将一个对象复制一份,需要实现clone方法的java类必须实现Cloneable接口,该接口表示该类能够复制且具备复制的能力。Object 类的 clone 方法是一个本地方法,它可以直接操作内存中的二进制流,所以性能相对 new 实例化来说,更佳。实现原型类实现Cloneable接口;Cloneab..原创 2021-10-21 10:41:45 · 160 阅读 · 0 评论 -
单例模式最全总结
单例模式:在整个软件系统中,某个类只存在唯一的一个对象实例,且该类只提供一个取得其对象实例的静态方法。如Hibernate的SessionFactory单例模式的实现饿汉式:类一加载就会创建该单例对象。懒汉式:类加载不会创建该单例对象,而是首次使用该对象时才会创建。具体实现1.饿汉式(静态常量方式)class Singleton{ //私有构造方法 private Singleton(){} //类内部创建对象实例 private stati.原创 2021-10-13 20:54:04 · 238 阅读 · 0 评论 -
拿起来就能跑的“自定义注解”
自定义注解在项目中的实际使用背景:校验客户端传进来的参数码值,是否在码值枚举类中码值枚举类:/** * @author: yangyahui * @Date: 2020/12/10 5:18 下午 * @Description: 性别枚举类 */ public enum SexTypeEnum { SEX_BOY("0", "男"), SEX_GIRL("1", "女"); SexTypeEnum(String code, String desc)原创 2020-12-10 17:41:59 · 249 阅读 · 4 评论 -
简单工厂模式
基于反射的工厂模式基础枚举类:/** * @author: yangyahui * @Date: 2020/11/11 9:52 上午 * @Description: 惠农业务品种 */public enum BusinessTypeEnum { CHD("12020020140","彩虹贷"), JQD("12020020130","金秋贷"), NXD("16020040400","农兴贷"), ZND_JY("12020020020","助农原创 2020-11-27 14:13:43 · 539 阅读 · 6 评论