study_hard_forever
study_hard_forever
全部文章
设计模式
2020,你好!(1)
2022,你好!(1)
ACM基础(69)
C++(63)
Java(2)
Java Web与Java EE(11)
Python(4)
操作系统(5)
数据库(10)
数据结构(30)
未归档(74)
杂文~(3)
算法设计与分析(1)
计算机网络(12)
软件安装配置(1)
归档
标签
去牛客网
登录
/
注册
study_hard_forever的博客
全部文章
/ 设计模式
(共27篇)
1、简单工厂模式
简单工厂模式: 接口是用来封装隔离具体的实现的,目标就是不要让客户端知道封装体内部的具体实现。 简单工厂的位置是位于封装体内的,所以简单工厂知道具体类的实现是没有关系的。 对于客户端来说,只是知道了接口和简单工厂。 优点: 工厂类含有必要的判断逻辑,可以决定在什么时候创建哪一个产品类的实例,客户...
2022-03-13
0
420
2、策略模式
策略模式: 策略模式的用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化(策略模式是对算法的包装,是把使用算法的责任和算法本身分割开,委派给不同的对象管理)。 使用策略模式可以把行为和环境分割开来。环境类...
2022-03-13
0
393
3、装饰模式
装饰器模式: 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。 主要解决:一般的,我们为了扩展一个类经常使用继承方式实现,由于继承为类引入静态特征,并且随着扩展功能的增多,子类会很...
2022-03-13
0
319
4、代理模式
代理模式: 代理模式(Proxy Pattern),为其他对象提供一种代理以控制对这个对象的访问,这种类型的设计模式属于结构型模式。 代理模式其实就是访问对象时引入一定程度的间接性,因为这种间接性,可以附加多种用途(代理就是真实对象的代表。) 应用实例: 1、Windows 里面的快捷方式。 ...
2022-03-13
0
270
5、工厂方法模式
工厂方法模式: 简单工厂 VS 工厂方法(以计算器为例): 简单工厂UML结构图: 工厂方法UML结构图: 简单工厂模式最大的优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖。但是我们增加新功能时,我们一定要修改工厂...
2022-03-13
0
224
6、原型模式
原型模式: 用原型实例指定创建对象的种类,并且通过拷贝这种原型创建新的对象。(从一个对象再创建另外一个可定制的对象,而且不需要知道任何创建的细节) 使用场景: 1、资源优化场景。 2、类初始化需要消化非常多的资源,这个资源包括数据、硬件资源等。 3、性能和安全要求的场景。 4、通过 new 产生...
2022-03-13
0
247
7、模板方法模式
模板方法模式: 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 模板方法模式实际上是所有模式中最为常见的几个模式之一,而且很多人可能使用过模板方法模式而没有意识到自己已经使用了这个模式。模板方法模式是基于继承的代码复...
2022-03-13
0
281
8、外观(门面)模式
外观(门面)模式: 为子系统中的一组接口提供一个一致的界面,此时模式定义了一个高层接口,这个接口使得这一个子系统更加容易使用,即该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。 主要解决:降低访问复杂系统的内部子系统时的复杂度,简化客户端与之的接口。 何时使用: 1、客户端不需要知道...
2022-03-13
0
281
9、建造者(生成器)模式
建造者(生成器)模式: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 如果我们采用建造者模式,我们只需要指定需要创建的类型就可以得到他们,而不需要了解具体的创建过程和细节。 建造者模式UML结构图: 建造者(Builder)角色:定义创建一个Product对...
2022-03-13
0
225
10、观察者模式
观察者模式: 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象在状态发生变化时,会通知所有观察者对象(依赖它的对象),使它们能够自动更新自己。观察者模式属于行为型模式。 观察者模式又叫: 发布——订阅(Publish/Subscribe)模式 模型——视...
2022-03-13
0
436
首页
上一页
1
2
3
下一页
末页