首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
设计模式
EzreaLwj
创建于2022-09-19
订阅专栏
陪伴作者的设计模式的学习,尽量一周学习一个,然后将简要的笔记发布在此
等 6 人订阅
共22篇文章
创建于2022-09-19
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
外观模式
背景 使用Facade 可以为互相关联在一起的错综复杂的类整理出高层接口(API),其中Facade角色可以让系统对外只有一个简单的接口(API)。
原型模式
背景 原型(prototype)模式可以在不指定类名的前提下生成实例 以下情况不能根据类来生成实例,要根据现有的实例来生成实例 ;对象种类繁多,无法将它们整合到一个类中 ;需要处理的对象过多等
解释器模式
在解释器(interpreter)模式中,程序要解决的问题会被用非常简单的“迷你语言”表述出来。即用“迷你语言”编写“迷你程序”把具体的问题表述出来。
命令模式
如果我们有一个类,用来表示“请进行这项工作”的“命令”就会方便很多。每一项想做的工作就不再是“方法的调用”这种动态处理了,而是一个表示命令的类的实例,即可以用“物”来表示。
享元模式
享元模式又叫做 Flyweight 模式,一言以蔽之就是“通过尽量共享实例来避免 new 出实例”,当需要某个实例时,并不总是通过new 关键字来生成实例,而是尽量共用已经存在的实例。
状态模式
背景 在State 模式中,我们用类表示状态。以类来表示状态后,我们就能通过切换类来方便地改变对象的状态。
仲裁者(中介者)模式
Mediator 是仲裁者,中介者的意思,一方面,当组员发生麻烦事时,通知仲裁者,发生涉及全体组员的事情时也通知仲裁者。当仲裁者下达命令时,组员会立即执行。组员向仲裁者报告,仲裁者向组员下达命令。
访问者模式
在访问者模式中,数据结构与处理被分离开来。我们编写一个表示访问者的类来访问数据结构中的元素,并把对各元素的处理交给访问者类。当需要增加新的处理时,我们只需要写新的访问者,然后让数据结构可以接受该访问者
装饰器模式
不断为对象添加装饰的设计模式被称为 装饰器模式 。首先有一个相当于蛋糕的对象,然后不断地装饰蛋糕一样地不断对其增加功能,它就变成了使用目的更加明确的对象。
组合模式
组合模式,又称为 Composite 模式,在计算机的文件系统中,一个文件夹可以放入文件和文件夹(子文件夹),而子文件夹又可以放入新的文件和文件夹。可以说,文件夹是形成了一种容器结构,递归结构。
桥接模式
桥接模式:将类的 功能层次结构 与 实现层次结构 分离,分开更容易扩展,有利于独立地对他们进行扩展;
观察者模式
在 Observer 模式中,当观察对象的状态发生变化时,会通知观察者。Observer模式适用于根据对象状态进行相应处理的场景。
抽象工厂模式
抽象工厂(Abstract Factory) 的工作是将抽象零件组装成抽象产品,也就是说,我们并不关心零件的具体实现,而是只关心接口(API),我们仅用接口将零件组装成为产品。
职责链模式
当外部请求程序进行某个处理,但程序暂时无法直接决定由哪个对象负责处理时,就需要推卸责任。我们可以考虑将多个对象组成一条职责链,然后按照它们在职责链上的顺序一个一个找出到底应该谁来负责处理。
代理模式
代理模式又称为 Proxy 模式,Proxy 是代理人的意思,它指的是代替别人进行工作的人,当不一定需要本人亲自进行工作时,就可以寻找代理人去完成工作。但如果代理人实现不了,就需要寻找本人去解决。
建造者模式
在建造大楼时,需要先打牢地基,搭建框架。通常,在建造这种具有复杂结构的物体时,很难一气呵成。我们需要首先建造组成这个物体的各个部分,然后将他们组装起来,建造者模式用于组装具有复杂结构的实例。
策略模式
策略(strategy)模式,无论什么程序,其目的都是解决问题。而面对不同的问题,可能就会有不同的解决方法,strategy模式可以整体地替换算法的实现部分。能够整体地替换算法,能让我们轻松解决问题。
适配器模式
定义 在程序的世界中,经常会存在现有的程序无法直接使用,需要做适当的变换后才能使用的情况。这种用于填补“现有程序”和“所需程序”之间差异的设计模式就是适配器模式;
迭代器模式
Iterator 模式用于在数据集合中按照顺序遍历集合,主要角色有迭代器,具体的迭代器,集合,具体的集合。
工厂方法模式
定在模板方法模式中,父类中规定了处理的流程,在子类中实现具体的处理,如果用该模式用来生成实例,则演变为工厂方法模式;工厂方法模式中,父类决定实例的生成方法,但不决定所要生成的具体类,具体的处理交给子类
下一页