设计模式
文章平均质量分 65
快乐风男hasaki
希望一切都值得
展开
-
设计模式——观察者模式详解
文章目录前言观察者模式结构Java对于观察者模式的支持观察者模式与MVC总结例子前言观察者模式是使用频率最高的设计模式之一,当对象间存在一对多关系时候就可以使用观察者模式。观察者模式又被称为发布-订阅模式模型-视图模式源-监听器模式从属者模式观察者模式是一种对象行为型模式。定义对象间的一种一对多依赖关系,一个对象发生更改时候,自动通知其他对象,被通知的对象称为观察者。例如:一个变量的修改,需要自动通知依赖它的对象。观察者模式结构观察者模式结构图中主要有以下角色Subject(原创 2021-04-10 14:58:34 · 476 阅读 · 0 评论 -
设计模式——原型模式详解
这里写目录标题原型模式主要解决优点缺点使用场景如何使用原型模式原型模式用于创建已有对象的复制,然后又保证性能。主要解决当创建一个对象对于性能损耗很大的时候,我们可以创建一个对象的复制。优点性能提高逃避构造函数的约束缺点当一个类引用不支持串行化的间接对象时,或者引用含有循环结构的对象时,难以实现。java中必须实现cloneable接口使用场景资源优化场景new一个对象的过程非常繁琐时类初始化的过程耗费资源过大性能和安全要求一个对象多个修改者如何使用Java中直原创 2021-04-06 09:10:39 · 61 阅读 · 0 评论 -
设计模式之单例模式
前言之前已经讲解完了常见的三种工厂模式,今天讲完单例模式的讲解。单例模式是一个非常常用但是很简单的一个设计模式,其意思也很好理解,也就是一个系统中,只有一个该对象存在。应用场景老规矩,先讨论应用场景。我们日常接触到的最多的单例模式其实就是任务管理器,还有之前在JavaSE阶段手敲的服务器其实也可以使用单例模式控制(数据量小时)。那我们可以发现单例模式的应用场景的共同点:应用场景:系统只需要一个实例对象,比如只需要一个对象的情况,或者开启一个对象所需要的资源太过庞大从而控制只能创建一个。(任原创 2021-04-01 21:46:52 · 201 阅读 · 0 评论 -
设计模式——抽象工厂模式
抽象工厂模式概述与工厂方法模式的区别引入了产品等级结构和产品族的概念,与工厂方法模式相比,抽象工厂模式中的具体工厂不只是用来创建一种产品,而是负责创建一族产品。抽象工厂模式定义抽象工厂模式: 提供一个创建一系列相关或者相互依赖对象的接口,无需指定具体的类。AbstractFactory(抽象工厂):声明一组用于创建一族产品的方法,一个方法对应一种产品。ConcreteFactory(具体工厂):实现抽象工厂中声明的创建产品的方法,生成一组具体昌平,构成一个产品族。AbstractProd原创 2021-03-31 10:42:03 · 95 阅读 · 0 评论 -
设计模式——工厂方法模式总结
工厂方法模式概述与简单工厂的区别工厂方法模式也是工厂模式的一种,对比简单工厂模式,他们之间的区别有以下几点:简单工厂模式是根据参数的不同用 if 与 else 判断返回的产品,其工厂职责很重,可能一个工厂类中有高达几个个 if 。而工厂方法模式将工厂分离,具体实现工厂继承同一个抽象工厂,具体实现工厂生产不同的产品。简单工厂模式如果要加入新的产品,那么必须修改工厂的逻辑,违背了“开闭原则”。而工厂方法模式则可以新建工厂或者产品,不用修改代码逻辑。定义与使用场景工厂方法模式:定义一个用于创建对原创 2021-03-20 20:36:41 · 203 阅读 · 0 评论 -
简单工厂模式
简单工厂模式概述简单工厂模式并不属于23个经典设计模式之一,但是通常将简单工厂模式作为学习其他工厂模式的基础。应用场景当需要大量创建同属于一类的不同对象时,我们可以应用简单工厂模式。概念工厂类:根据不同的参数用于创建具体产品对象的类。具体产品类:实际的产品类。抽象产品类:产品类进行抽象和提取后,将大量相同的操作或者变量封装到抽象类中。具体操作简单工厂模式:定义一个工厂类,可以根据参数的不同返回不同类的实例(一般具有共同的父类)。具体例子假设我们需要一些图形,这些图形有圆形、三角形……;原创 2021-03-16 18:38:20 · 148 阅读 · 0 评论 -
设计模式之面向对象设计原则
常见7种面向对象设计原则单一职责原则:一个类只负责一个功能领域中的相关职责。开闭原则:软件实体应对扩展开发,而对修改关闭。里氏代换原则:所有引用父类对象的地方能够透明的使用其子类的对象。依赖倒转原则:抽象不应该依赖于细节,细节应该依赖于抽象。接口隔离原则:使用多个专门的接口,而不使用单一的总接口合成复用原则:尽量使用对象组合,而不是继承达到复用的目的迪米特法则:一个软件实体应当尽可能少的与其他实体发生相互作用单一职责原则概述:一个类不能太大,应该一个类只处理一类问题。开闭原则(目标)原创 2021-03-13 19:06:53 · 114 阅读 · 0 评论