首页 > 编程知识 正文

23种设计模式应用场景,常用的几种设计模式

时间:2023-05-03 10:41:10 阅读:142913 作者:3351

设计模式、七原则开闭原则对扩张开放(提供方)、对修正封闭(使用方) )。 抽象提供器方法必须能够透明地使用该子类,并且行为必须保持一致,以便调用方传递抽象类的子类实现,提供方调用子类的方法来完成具体实现。 依赖逆向工程原则的下级模块尽量不独立存在,应该有抽象类或接口,声明子类对象时接口接收到的,作为实例和变量之间的缓冲层,是程序中心思想是面向接口的编程,对于细节的多变性,抽象的东西往往是稳定的,以抽象为基础构建的体系结构也是稳定的。 单一职责原则降低了班级的复杂性,一个班级只负责一项职责。 接口分离原则是将接口划分为多个,类只需要实现自己使用的接口方法,避免实现不必要的方法。 合成原则狄米特定律二十三种设计模式创造型工厂方法的核心思想:在简单工厂的基础上,通过实例化不同的工厂来创造不同的类。 factory method抽象工厂的核心思想:基于工厂的方法,让一个工厂生产一类对象。 将工厂抽象化,并延迟类的创建过程,直到在工厂的子类中完成。 这样做的优点是,如果需要添加新的产品类,则只需添加“具体工厂”,而不需要像简单的工厂那样修改工厂类的具体实现。 符合“开闭原则”。 根据工厂的方法,实现在一个具体工厂生产不同产品的方法。 可以使“产品集群”的生产变得容易。 为什么可以将工厂用于new对象? 添加权限验证、日志记录、对象修饰abstract factory单实例模式核心思想:通过使一个类自身具有该实例的成员变量,并声明为static和private,使系统具有一个实例由于要确保整个系统只有一个实例,因此用户无法创建它。 因此,这个类需要private的构造函数。 要获取此唯一实例,还需要getInstance )方法。 此方法必须是公共的,因为它必须可以在系统的每个位置检索。 getInstance () )应该是静态的,因为调用的getInstance ()的目的是检索实例,并且只能在类上调用。 singleton建设者模型的核心思想:定义一个建设过程,具体建设可以归入子类,使用同一建设过程构造不同的实例,用于复杂对象的创建。 为用于创建对象lombok的静态内部类的@Builder注释添加朋友框架SqlParam builder原型模型的核心思想:使用Object类的clone方法快速访问对象实现cloneable接口,重写clone方法(浅复制)所有引用类型成员变量,实现cloneable接口,clone方法(深复制) prototype结构适配器模式类适配器:适配器类实现了期望的接口,继承了现有的类并获得了他的行为(方法)。 对象适配器:适配器类实现期望的接口,拥有现有类的实例,并通过实例调用方法。 bufferedreaderinputstreamreader是适配器文件输入窗口适配器抽象类,不是适配器模式。 不过,它继承了adapter代理模式的核心思想,即代替开发人员实现目标接口,开发人员只需要重写自己使用的内容。 代理类具有具体实现类的实例,并转换代理类中的操作 proxy桥模型的核心思想:通过组合或聚合处理抽象与实现的联系,使具体实现在不同维度上发生变化的抽象礼物。 聚合礼物是new狠礼物(new花) new本)礼物是花本bridge组合模型的核心思想)让具体类和这些类的容器实现在同一个接口上,用户调用容器类时使用递归调用,这里枝节点和叶节点继承自根节点,递归遍历composite装饰图案的中心思想。 构建对象池,并重用需要在系统中多次出现的对象。 无论是具体的组件,还是装饰的组件,都想用同样的方法,实现同样的界面。 装饰类必须具有特定组件的实例才能调用方法,因此需要进行聚合关联。 decorator查询模式的核心思想:在查询类中实现具体操作,用户只需与查询类进行交互,屏蔽方法调用的细节。 消除网关、facade享受元模式的核心思想:共享元数据,建立对象池,重用需要在系统中多次出现的对象。 线程池、数据库连接池、字符串等池化思想。 a.intern(==aflyweight工作解释模式解释脚本语言正则表达式解析语句模板模式定义钩子函数责任链模式保存博客、过滤链,分别进行敏感词和特殊符号过滤javax.servlet.file 与责任链相似,但观察者不能中断事件源对象事件本身的观察者Spring的aop切片也是观察者模式。 接点是事件源,发出事件。 切片由观察者JDK拥有观察类。 adddeletenotify命令模式命令组合宏命令责任链多级倒带命令事务回滚方法模式消息中间件迭代器模式为每个容器实现自己的迭代器方法。 备注模式记录快照(瞬时)独立游戏存档游戏进度必须序列化存储在内存中的所有引用类型口 访问者模式 在结构不变的情况下,动态改变对于内部元素的动作。 电脑硬件不变,来访者自带折扣策略 用于编译器,对表达式进行语法检查 状态模式 根据状态决定行为 有限状态机 汽车 开门状态 可以关门 关门状态 可以开门可以启动 启动状态 可以停止 停止状态 可以启动可以开门 策略模式 封装了做一件事情的时候不同的执行方式。(排序时,传入自定义的比较器) 工厂日历策略化 设计模式解决哪些问题 代码可读性 复用性 扩展性 可靠性 设计模式其实就是把简单的问题复杂化哪部分变化就把那部分封装起来。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。