E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
《设计模式系列》
设计模式系列
教程之单例模式-原理介绍
阅读更多
设计模式系列
教程之单例模式-原理介绍一:单例模式(Singleton)学习步骤经典的单例模式原理:本文出处:凯哥Java(wx:kaigejava)先来看看单例模式的介绍:其重点就是,使类对象成为系统中唯一的一个实例
kaizi1992
·
2019-08-21 09:00
JavaScript
设计模式系列
- 享元模式与资源池
享元模式(FlyweightPattern)运用共享技术来有效地支持大量细粒度对象的复用,以减少创建的对象的数量。享元模式的主要思想是共享细粒度对象,也就是说如果系统中存在多个相同的对象,那么只需共享一份就可以了,不必每个都去实例化每一个对象,这样来精简内存资源,提升性能和效率。Fly意为苍蝇,Flyweight指轻蝇量级,指代对象粒度很小。注意:本文用到ES6的语法let/const、Class
SHERlocked93
·
2019-08-21 00:00
前端
设计模式
javascript
JavaScript
设计模式系列
- 策略模式与动态表单验证
策略模式(StrategyPattern)又称政策模式,其定义一系列的算法,把它们一个个封装起来,并且使它们可以互相替换。封装的策略算法一般是独立的,策略模式根据输入来调整采用哪个算法。关键是策略的实现和使用分离。注意:本文可能用到一些编码技巧比如IIFE(ImmediatelyInvokedFunctionExpression,立即调用函数表达式),ES6的语法let/const、箭头函数、re
SHERlocked93
·
2019-08-21 00:00
设计模式
前端
javascript
设计模式系列
(三)—— 建造者模式
定义与类型定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示用户只需指定需要建造的类型就可以得到它们,建造过程及细节不需要知道类型:创建型建造者模式就是如何一步一步构建包含多个组件的对象;相同的构建过程可以创建出不同的产品,比较适用于流程固定但是顺序不一定固定的场景适用场景如果一个对象有非常复杂的内部结构(很多属性)想把复杂对象的创建和使用进行分离优点与缺点优点:封装性
疯狂呼呼呼
·
2019-08-18 17:22
设计模式
Java
Java
设计模式系列
(三)—— 建造者模式
定义与类型定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示用户只需指定需要建造的类型就可以得到它们,建造过程及细节不需要知道类型:创建型建造者模式就是如何一步一步构建包含多个组件的对象;相同的构建过程可以创建出不同的产品,比较适用于流程固定但是顺序不一定固定的场景适用场景如果一个对象有非常复杂的内部结构(很多属性)想把复杂对象的创建和使用进行分离优点与缺点优点:封装性
疯狂呼呼呼
·
2019-08-18 17:22
设计模式
Java
Java
从IDEA角度来看懂UML图
下面本该是直接进入具体的
设计模式系列
文章。但是呢在我们学习设计模式之前我们还是有必要了解一下uml图。因为后续的设计模式文章不出意外应该会很多地方使用到uml图。
正号先生
·
2019-08-17 14:00
js - 观察者模式与订阅发布模式
零.序言转载&参考:1.JavaScript
设计模式系列
-观察者模式2.JavaScript设计模式(六):观察者模式与发布订阅模式一、观察者模式(observer)概要:观察者模式:定义了对象间一种一对多的依赖关系
shiweiqianju
·
2019-08-15 11:00
js设计模式之代理模式及订阅发布模式实例详解
本文是
设计模式系列
文章的第二篇文章,第一篇:。1,代理模式,只是学习了虚拟代理以及缓存代理,具体案例1)虚拟代理//业务代码varmyIma
zhensg
·
2019-08-15 09:23
C++
设计模式系列
原文链接:https://blog.csdn.net/CoderAldrich/article/details/83272866https://blog.csdn.net/CoderAldrich/article/details/83272866C++设计模式——简单工厂模式C++设计模式——工厂方法模式C++设计模式——抽象工厂模式C++设计模式——单例模式C++设计模式——建造者模式C++设计
骑着骆骆去看海
·
2019-08-09 10:20
设计模式
语音直播房间项目文章汇总
系统设计SD项目架构图SD项目:基于状态机和MQ的语音游戏方案
设计模式系列
:状态模式状态机框架选型简单比较stateless4j踩坑经历RocketMQ延迟消息延迟消息策略SD项目信令设计总结基于ASR
ycwu314
·
2019-07-22 16:00
设计模式:代理模式是什么,Spring AOP还和它有关系?
接着学习
设计模式系列
,今天讲解的是代理模式。定义什么是代理模式?代理模式,也叫委托模式,其定义是给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。
鄙人薛某
·
2019-07-15 09:00
设计模式系列
(五)--单例模式详解,面试只要看这一篇文章就够了!
01、概念一、概念1.定义:保证一个类仅有一个实例,并提供一个全局访问点。2.类型:创建型。3.适用场景:想确保任何情况下都绝对只有一个实例。4.优点:a.在内存里只有一个实例,减少了内存开销;b.可以避免对资源的多重占用;c.设置全局访问点,严格控制访问。5.重点:a.私有改造器;b.线程安全;c.延迟加载;d.序列化和反序列化安全;e.反射。6.根据重点需要考虑的点:1.如何防止外部调用new
奔跑的小车车
·
2019-06-26 20:37
java
架构
JavaScript 设计模式(一):单例模式
停更许久,近期计划更新:
设计模式系列
。单例模式:限制类实例化次数只能一次,一个类只有一个实例,并提供一个访问它的全局访问点。单例模式是创建型设计模式的一种。
以乐之名
·
2019-06-20 00:00
设计模式
javascript
当Kotlin邂逅设计模式之代理模式(二)
简述:从这篇文章起,我们将继续Kotlin邂逅
设计模式系列
篇中的第二篇代理模式。代理模式可以说很多初级中级开发者迷惑的设计模式。
Kotlin中文社区
·
2019-06-13 09:01
Kotlin邂逅设计模式
设计模式之建造者设计模式
这是
设计模式系列
的第二篇——建造者设计模式,我希望推送的文章是一个系列的,尽量保持一样的写作风格,尽量把我理解的阐述清楚,关于建造者设计模式主要从以下几个方面来学习,具体如下:概述本质关键概念具体实现总结概述建造者设计模式
jzman
·
2019-05-30 00:00
软件设计
java
建造者模式
build
设计模式
当Kotlin邂逅设计模式之代理模式(二)
简述:从这篇文章起,我们将继续Kotlin邂逅
设计模式系列
篇中的第二篇代理模式。代理模式可以说很多初级中级开发者迷惑的设计模式。
weixin_33895657
·
2019-05-21 13:48
移动开发
设计模式
java
设计模式:面向对象设计的六大原则 (绝对详细)
我决定逼自己一把,从今天开始学习
设计模式系列
,并写成博文记录下来,做不到的话,就罚自己一个月不玩游戏(作孽啊。。。。)六大原则言归正传,这是我学习
设计模式系列
的第一篇文章
鄙人薛某
·
2019-05-20 09:00
设计模式:面向对象设计的六大原则 (绝对详细)
我决定逼自己一把,从今天开始学习
设计模式系列
,并写成博文记录下来,做不到的
weixin_30457465
·
2019-05-20 09:00
【
设计模式系列
1】深入分析简单工厂,工厂方法和抽象工厂三种设计模式
三大工厂设计模式对比
设计模式系列
总览前言简单工厂模式(SimpleFactoryPattern)简单工厂示例简单工厂模式适用场景简单工厂模式缺点工厂方法模式(FatoryMethodPattern)工厂方法模式适用场景工厂方法模式缺点抽象工厂模式
双子孤狼
·
2019-05-06 22:24
设计模式
设计模式
简单工厂
工厂方法
抽象工厂
工厂模式
抽象工厂模式(Abstract Factory)- 最易懂的设计模式解析
前言在上文提到的最易懂的
设计模式系列
解析:工厂方法模式,发现工厂方法模式存在一个严重的问题:一个具体工厂只能创建一类产品而在实际过程中,一个工厂往往需要生产多类产品。
hahaoop
·
2019-04-02 16:40
JS设计模式-其他1-原型模式 & 桥接模式
其他
设计模式系列
开始介绍前端不常用的设计模式有哪些设计模式?
林海_Mense
·
2019-03-21 11:35
浅谈Java
设计模式系列
-装饰器模式
一、概述装饰器模式作用是针对目标方法进行增强,提供新的功能或者额外的功能。不同于适配器模式和桥接模式,装饰器模式涉及的是单方,和代理模式相同,而且目标必须是抽象的。而实际上,装饰器模式和代理模式的实现方式基本一致,只在目标的存在上有些差别,这个后面我们具体讲述。二、初步分析上面提到了两点:涉及的是单方目标是抽象的我们来想一下,所谓单方主要指的是在整个装饰器模式中不存在双方调用,要解决的也不是双方调
唯一浩哥
·
2019-03-20 14:37
秒懂设计模式之桥接模式(Bridge Pattern)
版权申明】非商业目的可自由转载博文地址:https://blog.csdn.net/ShuSheng0007/article/details/88370067出自:shusheng007
设计模式系列
文章
ShuSheng007
·
2019-03-10 11:04
设计模式
从零开始单排学设计模式「装饰模式」黑铁 I
本篇是
设计模式系列
的第四篇,虽然之前也写过相应的文章,但是因为种种原因后来断掉了,而且发现之前写的内容也很渣,不够系统。所以现在打算重写,加上距离现在也有一段时间了,也算是自己的一个回顾吧!
孤独键客
·
2019-02-16 22:14
设计模式
从零开始单排学设计模式「简单工厂设计模式」黑铁 III
本篇是
设计模式系列
的第二篇,虽然之前也写过相应的文章,但是因为种种原因后来断掉了,而且发现之前写的内容也很渣,不够系统。所以现在打算重写,加上距离现在也有一段时间了,也算是自己的一个回顾吧!
chouliuji7065
·
2019-02-14 16:00
从源码中学习
设计模式系列
——单例模式序/反序列化以及反射攻击的问题(二)
一、前言这篇文章是学习单例模式的第二篇,之前的文章一下子就给出来看起来很高大上的实现方法,但是这种模式还是存在漏洞的,具体有什么问题,大家可以停顿一会儿,思考一下。好了,不卖关子了,下面我们来看看每种单例模式存在的问题以及解决办法。二、每种Singleton模式的演进模式一publicclassLazySingleton{privatestaticLazySingletonlazySingleto
菠萝吹雪—Code
·
2019-01-12 02:00
设计模式系列
- 模板模式
在模板模式中,一个抽象类公开定义了执行它的方法的方式或方法介绍模板模式属于行为型模式,通过将相似的业务行为抽离出来放到抽象类中暴露给上层,然后在自己子类中实现具体的业务行为,通过模板类来约束上层的业务调用。类图描述代码实现1、定义抽象基类publicabstractclassGame{publicabstractvoidInitialize();publicabstractvoidStartPla
hippieZhou
·
2019-01-07 11:00
设计模式系列
- 策略模式
在策略模式中,一个类的行为或其算法可以在运行时更改。介绍策略模式属于行为型模式,通过将一系列通用算法封装起来,使它们能够动态替换,而不是通过一大堆条件语句进行选择判断。类图描述代码实现1、定义策略接口publicinterfaceIStrategy{intDoOperation(intnum1,intnum2);}2、实现策略publicclassOperationAdd:IStrategy{pu
hippieZhou
·
2019-01-07 11:00
设计模式系列
- 访问者模式
访问者模式通过使用一个访问者类,是主业务改变执行算法介绍访问者模式属于行为型模式,通过依据不同的访问者来动态调整访问方式,将数据结构和数据操作进行分离,符合单一职责原则,扩展性较好。类图描述代码实现1、定义组件接口publicinterfaceIComputerPart{voidAccept(ComputerPartVisitorcomputerPartVisitor);}2、定义访问者publi
hippieZhou
·
2019-01-07 11:00
设计模式系列
- 空对象模式
空对象模式取代简单的NULL值判断,将空值检查作为一种不做任何事情的行为。介绍在空对象模式中,我们创建一个指定各种要执行的操作的抽象类和扩展该类的实体类,还创建一个未对该类做任何实现的空对象类,该空对象类将无缝地使用在需要检查空值的地方。类图描述代码实现1、定义抽象类publicabstractclassAbstractCustomer{protectedstringName;publicabst
hippieZhou
·
2019-01-06 16:00
设计模式系列
- 状态模式
在状态模式中,类的行为时基于它的状态改变而改变。介绍状态模式属于行为型模式,通过运行对象在内部状态发生改变时改变它的行为,主要解决的问题是对象的行为严重依赖于它的状态。类图描述代码实现1、定义状态上下文publicclassContext{privatestaticIStatestate;publicvoidSetState(IStatestate)=>Context.state=state;pu
hippieZhou
·
2019-01-06 16:00
设计模式系列
- 观察者模式
当对象之间存在一对多的关系时,若需要进行对象之间的通知,则可使用观察者模式介绍观察者模式属于行为型模式,当一个对象的状态发生改变时,若我们想通知其他对象,此时可通过观察者模式来进行解决。类图描述代码实现1、定义抽象观察者publicabstractclassObserver{protectedSubjectsubject;publicabstractvoidUpdate();}2、定义观察者管理类
hippieZhou
·
2019-01-05 10:00
设计模式系列
- 备忘录模式
备忘录模式通过保存一个对象的某个状态,以便在需要的时候恢复该对象。介绍备忘录模式属于行为型模式,它通过在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。类图描述代码实现1、创建实体类publicclassMemento{privatestringstate;publicMemento(stringstate){this.state=state;}publicstringG
hippieZhou
·
2019-01-01 11:00
设计模式系列
- 中介者模式
中介者模式是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。前言中介者模式属于行为者模式,通过一个中介对象来封装一些列的对象交互,使对象之间解耦和,降低系统复杂度。类图描述代码实现1、创建中介类publicclassChatRoom{publicstaticvoidShowMessage(Useruser,stringme
hippieZhou
·
2018-12-31 18:00
设计模式系列
- 迭代器模式
迭代器模式在.Net中使用很广泛,其循环遍历对于的集合已经实现了迭代器模式介绍迭代器模式属于行为型模式,它通过提供一种方法来顺序访问集合对象中的每个元素,而又不用暴露其内部表示。类图描述代码实现1、创建接口publicinterfaceIIterator{boolhasNext();objectNext();}publicinterfaceContainer{IIteratorGetIterato
hippieZhou
·
2018-12-30 14:00
数据库操作 —— 使用进阶:通过查询构建器实现高级功能
注:流接口是一种设计模式,更多关于流接口模式的设计和使用方式,可查看这篇教程:PHP
设计模式系列
——流接口模式。
子钦加油
·
2018-12-29 17:00
设计模式系列
- 解释器模式
解释器模式通过实现一个表达式接口,从而能够以指定方式解析指定内容介绍解释器模式属于行为型模式,通过这种设计模式,我们可以定义一种特定的解释器来解释特定的业务场景,可以类比不同的编程语言的编译器需要设计不同的解释器来编译执行。类图描述代码实现1、定义表达式接口publicinterfaceIExpression{boolInterpret(stringcontext);}2、创建接口实体public
hippieZhou
·
2018-12-28 20:00
设计模式系列
- 责任链模式
责任链模式通过为请求创建一个接收者对象的链,对请求的发送者和接收者进行解耦。介绍责任链属于行为型模式,在这种模式中,通常每个接收者都包含对另一个接收者的引用,如果一个对象不能处理该请求,那么则会继续往下传递,依此类推。可以参考C#中的事件处理程序就是采用这种思想。类图描述代码实现1、创建抽象的记录器类publicabstractclassAbstractLogger{publicstaticint
hippieZhou
·
2018-12-27 17:00
设计模式系列
- 命令模式
命令模式是一种数据驱动型的设计模式,它以命令的形式包裹在对象中,并传递给调用者。介绍命令模式属于行为型设计模式,它通过将一个请求封装成一个对象,从而使我们可以用不同的请求对客户端进行参数化。类图描述代码实现1、创建命令接口publicinterfaceIOrder{voidExecute();}2、创建一个模拟请求类publicclassStock{privatestringname="ABC";
hippieZhou
·
2018-12-27 17:00
回炉设计模式——写在开头
没错,我要开始写“自己的”
设计模式系列
了。其实,关于设计模式,无论是书,还是网络文章,都已经出了很多了。但是,我还是要写这个系列,并对这些设计模式进行我自己的解读。
justCode_
·
2018-12-27 11:43
设计模式系列
- 代理模式
通过创建现有对象的对象,以便向外界通过访问接口,这种模式我们称之为代理模式介绍代理模式属于结构型模式,通过在对象与对象之间添加一个代理中间层来到达对目标对象的间接访问。类图描述由上图可知,我们通过定义一个基本接口来约束业务行为,然后定义具体的业务实现该接口,最后通过定义一个代理类来协调上层和具体业务实体之间的访问,从而使上层也能访问到下层对象。代码实现1、创建接口publicinterfaceII
hippieZhou
·
2018-12-26 21:00
设计模式系列
- 享元模式
享元模式主要通过共享对象的方式来减少对象的创建。介绍在复杂系统中,频繁创建对象是一件很耗资源的操作,为了节约系统有限的资源,我们有必要通过某种技术来减少对象的创建。在AspNetCore大量使用了依赖注入技术从而达到对象的集中式管理。类图描述由上图可知,通过定义一个IShape接口来约束实体类行为,Circle为具体的实体类,ShapeFactory为享元工厂,用于统一所有实体类的初始化操作。代码
hippieZhou
·
2018-12-25 20:00
设计模式系列
- 目录
首先需要说明的一点是,本系列文章中涉及DotNetCore相关内容几乎没有,之所以这样命名是为了后续系列博客做技术储备,杠精请出门右拐点击关闭按钮即可。其次,设计模式与语言无关,所以还请各位萌新不要陷入语言妄想症。前言关于什么是设计模式,这里简单描述描述一下:所谓设计模式,是指软件开发人员在长时间的软件开发过程中通过对以往问题的总结和概括,并加以实践,设计出来的一套行之有效的解决方法。在恰当的时机
hippieZhou
·
2018-12-24 21:00
设计模式系列
- 外观模式
外观模式通过创建新的对象访问接口,从而隐藏对象内部发复复杂性介绍外观模式属于结构型模式,通过定义的外观器,从而简化了具体对象的内部复杂性。这种模式通过在复杂系统和上层调用之间添加了一层,这一层对上提供简单接口,对下执行复杂操作。类图描述通过上图我们可以发现,IShape为行为接口,然后RectangleSquareCircle为具体的对象实体类型,ShapeMarker为我们定义的外观器,通过它,
hippieZhou
·
2018-12-24 20:00
设计模式系列
- 装饰器模式
装饰器模式允许向现有对象中添加新功能,同时又不改变其结构。介绍装饰器模式属于结构型模式,主要功能是能够动态地为一个对象添加额外功能。在保证现有功能的基础上,再添加新功能,可联想到WPF中的附件属性。类图描述由上图可知,我们定义了一个基础接口IShape用于约定对象的基础行为。然后通过定义ShapeDecorator类来扩展功能,RedShapleDecorator为具体的扩展实现。代码实现1、定义
hippieZhou
·
2018-12-23 10:00
设计模式系列
- 组合模式
组合模式通过将多个具有相同属性和行为的对象组装成一个类似树形结构的单一对象。以此来表示各个对象之间的层次关系。前言组合模式属于结构型模式,通过将多个相似对象组合到一起,从而能够构建出一个树形的整体-部分的关系。保证了单个对象和组合对象的使用方式是一致的。在现实场景中,类似电脑中文件夹的浏览展示,可以联想到组合模式。类图描述略代码实现1、具体实现publicclassEmployee{private
hippieZhou
·
2018-12-22 16:00
设计模式系列
- 过滤器模式
过滤器模式通过使用不同的过滤标准来筛选数据,解耦了多个数据源的数据筛选操作。介绍过滤器模式属于结构型模式,它通过将多个不同的过滤标准结合起来从而达到一个统一的过滤标准,使具体的过滤对上层隔离。类图描述由上图可知,ICriteria定义了过滤接口,然后CriteriaMale、CriteriaSingle、CriteriaFemale为具体的底层数据过滤,接着定义AndCriteria和OrCrit
hippieZhou
·
2018-12-22 16:00
设计模式系列
- 桥接模式
使用桥接模式可以将类型的抽象和具体实现进行分离,两者通过桥接模式进行关联,从而达到解耦介绍桥接模式属于结构型模式。在现实世界中,我们装修房子时,布线的工人和安装空调的工人之间可以同时工作,不用互相依赖。而对于屋主人来讲也不用关系他们具体时怎么工作的,只需要等他们完成即可。在软件开发中,当我们面对一个业务中两个独立的子业务时,使用桥接模式是一个不错的选择。类图描述由上图我们可以看到,我们定义了一个抽
hippieZhou
·
2018-12-15 17:00
设计模式系列
- 适配器模式
见名知其意,适配器可用于对多个不兼容接口提供适配桥梁介绍适配器模式属于结构型模式。在现实世界中,这个模式适用的较为广泛,比如DIY一些电子产品,主要元器件提供的是标准接口,那么无论我们购买什么品牌的元器件,最终都能组装起来正常运行。类图描述由上图可知,我们通过定义IAdvancedMediaPlayer接口来约束Mp4Player和VlcPlayer的播放行为。然后定义一个适配器MediaAdap
hippieZhou
·
2018-12-15 10:00
设计模式系列
- 原型模式
所谓原型模式是指为创建重复对象提供一种新的可能。介绍当面对系统资源紧缺的情况下,如果我们在重新创建一个新的完全一样的对象从某种意义上来讲是资源的浪费,因为在新对象的创建过程中,是会有系统资源的消耗,而为了尽可能的节省系统资源,我们有必要寻找一种新的方式来创建重复对象。类图描述由于Shape抽象类继承了ICloneable接口,所以通过上图我们可以发现,所有具体的类型都继承Shape抽象类,并实现C
hippieZhou
·
2018-12-09 21:00
上一页
13
14
15
16
17
18
19
20
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他