![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 57
易佰菜鸟
记录日常工作、学习get的技术
展开
-
设计模式-工厂模式
工厂模式 一、工厂方法模式 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。 意图 定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。 主要解决 主要解决接口选择的问题。 何时使用 我们明确地计划不同条件下创建不同实例时。 使用场景 吃饭:大原创 2020-12-04 11:49:44 · 165 阅读 · 0 评论 -
设计模式-观察者模式
观察者模式 当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知依赖它的对象。观察者模式属于行为型模式。 何时使用 一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知,进行广播通知。 应用实例 1、拍卖的时候,拍卖师观察最高标价,然后通知给其他竞价者竞价。 2、西游记里面悟空请求菩萨降服红孩儿,菩萨洒了一地水招来一个老乌龟,这个乌龟就是观察者,他观察菩萨洒水这个动作。 优点 1、观察者和被观察者是抽象原创 2020-11-24 16:25:59 · 149 阅读 · 0 评论 -
设计模式-模板模式
模板模式 在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。 主要解决:一些方法通用,却在每一个子类都重新写了这一方法。 何时使用:有一些通用的方法。 应用实例 1、在造房子的时候,地基、走线、水管都一样,只有在建筑的后期才有加壁橱加栅栏等差异。 2、西游记里面菩萨定好的 81 难,这就是一个顶层的逻辑骨架。 3、spring 中对 Hiberna原创 2020-11-24 13:33:17 · 157 阅读 · 0 评论 -
设计模式-代理模式
代理模式 代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。 主要解决 在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访问此对象时加上一个对此对象的访问层。 优点: 1、职责清晰。 2、高扩展性。 3、智能化。 缺点: 1、由于在客户端和真实主题之间增加了代理对象,因此有些类型的代理模式可能原创 2020-11-23 15:18:50 · 147 阅读 · 0 评论 -
设计模式-装饰器模式
装饰器模式 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。 这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。 主要解决:一般的,我们为了扩展一个类经常使用继承方式实现,由于继承为类引入静态特征,并且随着扩展功能的增多,子类会很膨胀。 何时使用:在不想增加很多子类的情况下扩展类。 优点:装饰类和被装饰类可以独立发展,不会相互耦合,原创 2020-11-23 13:37:37 · 258 阅读 · 0 评论 -
设计模式-适配器模式
适配器模式 适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。 这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读取内存卡。 优点: 1、可以让任何两个没有关联的类一起运行。 2、提高了类的复用。 3、增加了类的透明度。 4、灵活性好。 缺点: 1、过多地使用适配器,会原创 2020-11-20 17:33:56 · 246 阅读 · 0 评论 -
设计模式-单例模式
单例模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。 优点: 1、在内存里只有一个实例,减少了内存的开销,尤其是频繁的创建和销毁实例(比如管理学院首页页面缓存)。 2、避免对资源的多重占用(比如写文件操作)。 缺点 没有接口,不能继原创 2020-11-19 17:22:48 · 134 阅读 · 0 评论 -
设计模式-策略模式
设计模式-策略模式 一、简述 什么是策略模式 策略模式作为一种软件设计模式,指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法。 比如:每个人都要“交个人所得税”,但是“在美国交个人所得税”和“在中国交个人所得税”就有不同的算税方法。 再比如:电商支付有微信、支付宝、银联等支付方式,每种支付方式都有不同的逻辑。 主要是为了代码的解耦,避免每次新增策略的时候都影响到之前的策略逻辑(开闭原则),降低代码的耦合有利于后面代码的延伸(新增行为),并确保每次新增策略(功能)时都不会影响到原来的代码逻辑!原创 2020-10-28 15:47:01 · 230 阅读 · 0 评论