![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 61
23种设计模式
JL_记录进步的过程
这个作者很懒,什么都没留下…
展开
-
设计模式---适配器模式
适配器模式1、什么是适配器模式?适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。2、适配器有什么用?将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。比如:读卡器是作为内存卡和笔记本之间的适配器。将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读原创 2021-07-10 16:15:00 · 100 阅读 · 0 评论 -
设计模式----策略模式
策略模式概述简单理解比如:在我的世界中 有两个物品 1.铁 2.木棍铁和木棍可以合成多种物品 (如:铁镐,铁斧,铁剑…)用户可以根据需求来选择自己所需要的物品 这就是策略模式主要解决在有多种算法相似的情况下,使用 if…else 所带来的复杂和难以维护。何时使用一个系统有许多许多类,而区分它们的只是他们直接的行为。使用场景1、如果在一个系统里面有许多类,它们之间的区别仅在于它们的行为,那么使用策略模式可以动态地让一个对象在许多行为中选择一种行为。2、一个系统需要动态地在几种算原创 2021-05-19 11:10:08 · 77 阅读 · 0 评论 -
设计模式----抽象工厂模式
抽象工厂模式个人理解:抽象工厂是工厂模式的加强版,把工厂模式看做一个单元的话 抽象工厂模式就是把多个单元用一个抽象类装起来再使用一个抽象工厂类 来实现一个方法 这个方法里面写上判断条件 根据需求来返回所需要的工厂 然后让这个工厂生产比如:A工厂是生产水果 B工厂是生产衣服 在用户需要吃的时候就 new 一个抽象工厂类 然后告诉抽象工厂类需要水果工厂,抽象工厂就会返回水果工厂来供系统使用了解抽象工厂模式什么是抽象工厂模式?工厂模式的加强版。在抽象工厂模式中,接口是负责创建一个相关对象原创 2021-05-18 20:01:16 · 77 阅读 · 1 评论 -
设计模式----工厂模式
工厂模式比如:在游戏中有多个游戏角色 1.战士,2.法师 3.牧师 在发行这一款游戏一段时间以后发现游戏角色太少了,所以在2.0版本决定引进 召唤师和刺客 在工厂模式中 我们只需要定义好接口 然后实现 召唤师类 和 刺客类 在工厂类中 加入进去。在使用的时候就直接输入召唤师 或者是 刺客就可以创建做一个角色了 不需要考虑创建的过程 因为创建对象的过程已经在工厂类中写好 ,后面创建对象只需要对象名就可以创建了了解工厂模式什么是工厂模式?这种类型的设计模式属于创建型模式,它提供了一种创建对象原创 2021-05-18 13:49:56 · 199 阅读 · 0 评论 -
设计模式----模板模式
模板方法设计模式什么是模板方法设计模式用通俗的话来说:在一个游戏中一个人物有多个技能,A技能 回血,B技能 增强其他技能 C技能 通过消耗自己的一定血量来获得更强的属性加强。那我们创建一个抽象类 把这个人物的所有技能都放在抽象类里面 不同的子类实现出来的技能都不一样(但根本上还是那个作用,比如回血的技能:不管怎么重写 都是回血,可能有的是 先消耗自己现有的30%的血然后回复70%的血,而有的就是直接回复30%的血)在抽象类中 根据技能创建一个连招,比如:连招1:C -》A-》 B(消耗自原创 2021-05-16 11:56:57 · 80 阅读 · 0 评论 -
设计模式----组合模式
组合模式什么是组合模式组合模式按照我的理解是:把一组相似的对象当作一个单一的对象,在对象中 除了对象自己有的属性再加上一个属性list 这里面存放的是本对象的集合比如:权限 权限有老板,管理员,普通人员 ,老板只有一个并且拥有所有权限管理员:可以拥有对应的权限,不同的管理员负者不同的模块 并且管理不同的普通人员 HR:负责招人等,销售:负者买东西等普通人员:干事的人在组合模式中 我们可以只使用一个对象 ,在老板的list中是包含使用管理员的对象在管理员的list中又包含自己所对应的普通人原创 2021-05-16 11:55:34 · 66 阅读 · 0 评论 -
设计模式----外观模式
外观模式什么是外观模式举例:我需要吃中午饭 ,我给我的管家说,让管家给我安排(管家相当于:系统对外的接口 我代表:用户),这时候 管家就需要去找厨师做饭,采购员买食材,营养师来规划营养餐,最后到我(用户)的手上就只需要吃就可以了。管家做的那些复杂的操作用户都不需要管为什么要使用外观模式降低访问复杂系统的内部子系统时的复杂度,简化客户端与之的接口。外观模式的运用场景1、去医院看病,可能要去挂号、门诊、划价、取药,让患者或患者家属觉得很复杂,如果有提供接待人员,只让接待人员来处理,就很方便。原创 2021-05-16 11:54:32 · 91 阅读 · 0 评论 -
设计模式----单例模式的深入了解
深入了解单例模式一天小C在路上走 突然看见他的好朋友小A和小B 小C正准备和小A,小B打招呼。突然看见小A和小B正在争论什么,小C有些好奇,小C刚上去就听见小A在说单例模式中的线程安全问题。小C心想:“诶,刚好我昨天刚学习了单例模式,这下可以给他们吹一下牛了”。“单例模式中有懒汉式和饿汉式,懒汉式分为线程安全和线程不安全,饿汉式是线程安全的,对吧”,小C说到。小A和小B回头看着小C,这时小A说到:“那你找到懒汉式和饿汉式的效率问题吗?”,“这还不简单吗,懒汉式的线程安全是在方法上加锁,但这样会导致效率慢原创 2021-04-30 08:10:49 · 109 阅读 · 0 评论 -
设计模式----原型模式
原型设计模式什么是原型设计模式原型模式是用于创建重复的对象,同时又能保证性能。用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以此来减少数据库调用。简单来说就是:创建重复的对象的时候我们使用克隆,这样就可以提高性能。 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。与通过对一个类进行实例化来构造新对象不同的是,原型模式是通过拷贝一个原创 2021-04-27 20:48:42 · 166 阅读 · 0 评论 -
设计模式----享元模式
享元模式1.什么是享元模式享元模式就像是一个池,可以把系统中需要用到的类给存入里面 但需要使用的时候就可以直接往里面拿,这样就可以节省内存和效率并且同一种类型的对象可以不止存一个 因为他是分为内部状态和外部状态 外部状态相当于map的key 内部状态相当于value,这就代表着外部状态不能相同但内部状态可以,内部状态可以说同一种类型的类但key必须不同,用key来代表一个类在不同的使用场景的使用。2.享元模式是做什么的1、享元模式主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类原创 2021-04-27 18:59:07 · 116 阅读 · 0 评论 -
设计模式----访问者模式
访问者模式1.什么是访问者模式?表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。2.访问者模式是做什么的?主要将数据结构与数据操作分离。 稳定的数据结构加上易变的操作所产生的耦合问题3.访问者模式的适用情景1、 一个对象结构包含很多类对象,它们有不同的接口,而你想对这些对象实施一些依赖于其具体类的操作。2、 需要对一个对象结构中的对象进行很多不同的并且不相关的操作,而你想避免让这些操作“污染”这些对象的类。Visitor模式使得你可原创 2021-04-27 11:36:46 · 88 阅读 · 1 评论 -
设计模式----单例模式
单例模式1.什么是单例模式单例模式是一种常用的软件设计模式,其定义是单例对象的类只能允许一个实例存在。2.单例模式是做什么的当我们在系统中只需要一个实例的时候 主要是解决:一个全局使用的类频繁地创建与销毁。3.单例模式的应用场景1、一个班级只有一个班主任。2、Windows 是多进程多线程的,在操作一个文件的时候,就不可避免地出现多个进程或线程同时操作一个文件的现象,所以所有文件的处理必须通过唯一的实例来进行。3、一些设备管理器常常设计为单例模式,比如一个电脑有两台打印机,在输出的时候就原创 2021-04-27 11:22:57 · 87 阅读 · 0 评论