
设计模式
文章平均质量分 84
KWMax
Android/跨端/iOS
展开
-
设计模式:装饰器模式
一、概述装饰器模式(Decorator Pattern),从分类上讲,属于结构型模式。它是作为现有的类的一个包装。该模式允许动态地给一个对象添加一些额外的职责。同时又不改变其原有结构。主要应用场景:一般,我们使用继承方式扩展一个类。然而随着扩展功能不断增多,子类会逐渐膨胀。而装饰器模式就是为了解决这个问题的。它抽离出核心功能和扩展功能。从而进行动态扩展而无需创建新的继承子类。二、UML图 抽象组件角色(Component): 定义可以动态添加任务的对象的接口 具体原创 2021-02-19 10:28:37 · 170 阅读 · 0 评论 -
设计模式:责任链模式
一、概述责任链模式,从分类上讲,是23种设计模式中的一种行为设计模式。责任链模式(Chain of Responsibility Pattern),顾名思义,为请求创建了一个接收者对象的链,对请求的发送者和接收者进行解耦,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。使用场景:在处理消息的时候需要多级过滤或处理。举个栗子,OA请假申请,各级领导审批权限和次序是不同的,请求就在链条上传递,直到审批处理。二、UML图三、..原创 2020-11-06 17:34:08 · 165 阅读 · 0 评论 -
设计模式:策略模式
一、概述策略模式,从分类上讲,是23种设计模式中的一种行为设计模式。策略模式(Strategy),定义了一组算法,将每个算法都封装起来,并且使它们之间可以互换。主要解决在有多种算法相似的情况下,使用 if...else 所带来的复杂和难以维护。举个栗子,出行方式有多种,我们可以根据距离选择飞机、高铁、汽车等不同的出行策略。二、UML图Context是上下文,用一个ConcreteStrategy来配置,维护一个对Strategy对象的引用;Strategy是策略类,用于定义所有支持算原创 2020-11-03 11:08:00 · 125 阅读 · 0 评论 -
设计模式:单例模式
单例模式是一种创建型模式。单例模式有几个要点:1)必须确保只存在一个类的实例。2)类必须自己创建自己,不允许其他类来创建自己。3)必须提供一个方法允许其他类访问单例成员。由此可知:构造方法必须是私有的,然后需要一个公有的静态方法获取单例实例 。1、懒汉式//懒汉式单例类.在第一次调用的时候实例化自己 public class Singleton { ...原创 2019-03-13 23:08:54 · 123 阅读 · 0 评论 -
设计模式:工厂模式
一、简介属于创建型设计模式,需要生成的对象叫做产品 ,生成对象的地方叫做工厂。使用场景:在任何需要生成复杂对象的地方,可以使用工厂方法模式。直接new可以完成的不需要用工厂模式。分类:简单工厂模式、工厂方法模式、抽象工厂模式1、简单工厂模式接口和实现类:public interface Pet { public void call(); } publ...原创 2019-04-08 20:10:23 · 121 阅读 · 0 评论 -
设计模式:代理模式
一、前言代理模式(Proxy Pattern),也称为委托模式,是一种常用的结构型设计模式。代理模式,在我们实际生活中也处处可见其例子,如:代理上网,海外代购,请律师打官司......那么具体什么是代理模式呢?一句话定义:为其他对象提供一种代理对象,已控制对这个对象的访问。详细一点,即为其他对象提供代理,已控制对这个对象的访问,代理对象起到类似中介的作用,不设计功能服务,亦可增加额...原创 2019-08-25 15:13:30 · 225 阅读 · 2 评论 -
设计模式:观察者模式 和 发布-订阅模式
一、简介观察者模式是一种使用率很高的模式。这个模式的一个重要作用就是解耦,将被观察者和观察者解耦。在很多地方,都会将观察者模式称为发布-订阅模式,或者订阅者模式。实际上,两者是不完全相同的,有联系也有区别。二、观察者模式定义观察者模式,定义了一种一对多的依赖关系,使得当一个对象发生状态变化时,则观察它的对象也都得到通知并作出反应。三、UML类图抽象主题(Subject):它...原创 2019-09-01 11:19:39 · 974 阅读 · 0 评论