设计模式
文章平均质量分 59
主要分享日常开发中常用的设计模式
vicent_uuid4
这个作者很懒,什么都没留下…
展开
-
设计模式-观察者模式(Python实现)
观察者模式当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知依赖它的对象。观察者模式属于行为型模式。观察者模式应用比较广泛,又被称为“发布-订阅”模式。它用来定义对象间一种一对多的依赖关系,当一个对象的状态发生变化时,所有依赖它的对象都得到通知并被自动更新。 观察者模式的角色有: 抽象主题(Subject) 具体主题(ConcreteSubject) -- 发布者 抽象观察者(Observer) 具体观察者(C原创 2021-08-26 22:40:47 · 99 阅读 · 0 评论 -
设计模式责任链模式(python)
责任链模式顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。介绍意图:避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。原创 2021-12-21 00:10:15 · 87 阅读 · 0 评论 -
设计模式-工厂模式
工厂顾名思义就是创建产品,根据产品是具体产品还是具体工厂可分为简单工厂模式和工厂方法模式,根据工厂的抽象程度可分为工厂方法模式和抽象工厂模式。该模式用于封装和管理对象的创建,是一种创建型模式。本文从一个具体的例子逐步深入分析,来体会三种工厂模式的应用场景和利弊。1. 工厂模式的优点 松耦合,即对象的创建可以独立于类的实现。 客户端无需了解创建对象的类,但是可以照样使用它来创建对象,只需要知道需要传递的接口、方法和参数,就能够创建所需类型的对象。简化了客户端的实现。 可以轻松地在原创 2021-08-24 21:10:59 · 59 阅读 · 0 评论 -
设计模式-单例模式Python
单例模式单例模式(Singleton Pattern)是 最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。(单例模式保证一个类只有一个实例,并提供一个访问它的全局访问点。)注意: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他原创 2021-09-04 13:12:02 · 63 阅读 · 0 评论 -
设计模式-代理模式(python)
代理模式在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。介绍意图:为其他对象提供一种代理以控制对这个对象的访问。主要解决:在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访问此对象时加上一原创 2022-01-23 19:09:26 · 98 阅读 · 0 评论 -
设计模式--外观模式(pyhton实现)
外观模式外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。介绍 意图:为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 角色:1、外观 1、 子系统类 主要解决:降低访问复杂系统的内部子系统时的原创 2021-11-06 11:03:23 · 58 阅读 · 0 评论 -
设计模式-策略模式python实现
策略模式在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。 内容: 定义一系列算法,把它们一个个封装起来,并且使它们可互相替换。本模式使得算法可独立于使用它的客户的变化。 例如: 比如对于互联网约车服务,如滴滴,有一个核心的业务,是一个客户要打车(人匹配车的过程),人和车原创 2021-08-26 00:07:47 · 141 阅读 · 0 评论 -
设计模式-建造者模式(python)
建造者模式介绍意图: 建造者模式是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。角色有:1.抽象创建者、2.具体创建者、3.指挥者、4.产品。建造者模式与抽象工厂模式相似,也用来创建复杂的对象。主要区别是 建造者模式着重一步步构造一个复杂对象(控制顺序)。而抽象工厂模式着重于多个系列的产品对象。主要解决:主要解决在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但原创 2021-10-10 23:47:23 · 90 阅读 · 0 评论 -
桥模式--pyhton实现
桥模式 内容: 将一个事物的两个维度分离,使其都可以独立的变化。 角色: 抽象 细化抽象 实现者 具体实现者 应用场景:当事物有两个维度上的表现,两个维度都可能扩展时。 优点: 抽象和实现相分离 优秀的扩展能力 总结: 实际上 是把一个事物的抽象部分和实现部分相分离。 本次代码形状是抽象部分,颜色是实现部分。因为代码本身的逻辑是要在 实现部分 构造编写原创 2021-11-06 10:59:54 · 92 阅读 · 0 评论