
设计模式
文章平均质量分 89
讲解程序开发的设计模式
墨家先生
继承墨家科学研究之精神
展开
-
6.原型模式(Prototype Pattern)
1.介绍1.1.定义允许一个对象再创建另外一个可定制的对象,无需知道如何创建的细节。即用原型实例指定创建对象的种类,并且通过拷贝这些原型,创建新的对象。1.2.工作原理将原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。即用基类Object的clone()方法或序列化。1.3.结构与模式原型模式包含以下主要角色抽象原型类:规定了具体原型对象必须实现的接口。具体原型类:实现抽象原型类的 clone() 方法,它是可被复制的对象。访问类:使用具体原原创 2022-05-11 10:26:08 · 202 阅读 · 0 评论 -
5.建造者模式(Builder Pattern)
1.概述笔者也看了网上很多关于建造者模式的文章,很多讲了又没讲对,讲对了又没讲明白,下面笔者忠于《设计模式:可复用面向对象软件的基础》书中的解释完成本文。2.介绍2.1.定义将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示2.2.解决的问题在用户不知道对象的建造过程和细节的情况下就可以直接创建复杂的对象。用户只需要给出指定复杂对象的类型和内容;建造者模式负责按既定规则创建复杂对象(把内部的建造过程和细节隐藏起来)2.3.结构与模式建造者模式通常包括下几个角色:B原创 2022-05-10 01:22:45 · 328 阅读 · 0 评论 -
4.抽象工厂模式(Abstract Factory Pattern)
目录1.前言2.介绍2.1.定义2.2.特点2.3.结构与模式2.4.代码实现3.应用场景3.1.优缺点3.1.1.优点3.1.2.缺点3.2.应用场景3.3.扩展4.源码分享1.前言在上文提到工厂方法模式(Factory Method),发现工厂方法模式存在一个严重的问题:一个具体工厂只能创建一类产品;而在实际过程中,一个工厂往往需要生产多类产品;为了解决上述的问题,我们又使用了一种新的设计模式:抽象工厂模式。同种类称为同等级,也就是说:工厂方法模式只考虑生产同等级的产品,但是在现实生活中许多转载 2022-05-07 01:36:04 · 517 阅读 · 0 评论 -
3.工厂方法模式(Factory Method Pattern)
目录1.前言2.介绍2.1.定义2.2.解决的问题2.3.结构与模式2.4.代码实现3.应用场景3.1. 优缺点3.2.应用场景4.源码分享1.前言在上文提到的最易懂的设计模式系列解析:简单工厂模式,发现简单工厂模式存在一系列问题:工厂类集中了所有实例(产品)的创建逻辑,一旦这个工厂不能正常工作,整个系统都会受到影响;违背“开放——关闭原则”,一旦添加新产品就不得不修改工厂类的逻辑,这样就会造成工厂逻辑过于复杂;简单工厂模式由于使用了静态工厂方法,静态方法不能被继承和重写,会造成工厂角色无法形成转载 2022-05-06 16:55:16 · 342 阅读 · 0 评论 -
2.工厂模式和简单工厂模式(Simple Factory Pattern)
在日常开发中,凡是需要生成复杂对象的地方,都可以尝试考虑使用工厂模式来代替。注意:上述复杂对象指的是类的构造函数参数过多等对类的构造有影响的情况,因为类的构造过于复杂,如果直接在其他业务类内使用,则两者的耦合过重,后续业务更改,就需要在任何引用该类的源代码内进行更改,光是查找所有依赖就很消耗时间了,更别说要一个一个修改了。1.什么是工厂模式:工厂模式的定义:定义一个创建产品对象的工厂接口,将产品对象的实际创建工作推迟到具体子工厂类当中。这满足创建型模式中所要求的“创建与使用相分离”的特点。工厂模式转载 2022-05-06 00:53:37 · 685 阅读 · 0 评论 -
1.单例模式(Singleton Pattern)
1.概述1.1.定义单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资源管理器的功能。每台计算机可以有若干个打印机,但只能有一个Printer Spooler,以避免两个打印作业同时输出到打印机中。每台计算机可以有若干通信端口,系统应当集中管理这些通信端口,以避免一个通信端口同时被两个请求同时调用。总之,选择单例模式就是为了避免不一致状态,避免政出多头。1.转载 2022-05-05 16:16:48 · 561 阅读 · 0 评论 -
23种经典设计模式(Design Patterns)
1.概述经典设计模式大方向分为三大类,创建型模式、结构型模式、行为型模式。创建型模式里面包含5个,结构型模式包含7个,行为型模式包含11个。1.1.创建型模式[Creational Pattern]单例模式抽象工厂模式工厂方法模式建造者模式原型模式1.2.结构型模式[Structural Pattern]适配器模式装饰器模式代理模式外观模式桥接模式组合模式享元模式1.3.行为型模式[Behavioral Pattern]策略模式模板方法模式观察者模式迭代子模式责任链转载 2022-05-05 10:17:07 · 3159 阅读 · 0 评论 -
代理模式
代理模式:为其他对象提供一种代理(中介)以控制对这个对象的访问。代理模式中的角色:抽象主题角色(Subject):声明了目标对象和代理对象的共同接口,这样一来在任何可以使用目标对象的地方都可以使用代理对象。 具体主题角色(RealSubject):也称为委托角色或者被代理角色。定义了代理对象所代表的目标对象。 代理主题角色(Proxy):也叫委托类、代理类。代理对象内部含有目标对象的引用,从而可以在任何时候操作目标对象;代理对象提供一个与目标对象相同的接口,以便可以在任何时候替代目标对象。代理转载 2021-04-13 10:39:41 · 103 阅读 · 0 评论