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
《设计模式系列》
设计模式系列
之四装饰者模式
装饰者模式的定义:装饰者模式:动态的将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。Java实现借用《HeadFirst设计模式》中的咖啡店卖咖啡的样例。便于说明,这里简洁一下。假如我要写一个咖啡点单计价的软件。业务逻辑是这样的,一杯咖啡10元,如果加糖另外加1元,如果加奶另外加两元。实际来讲,采用硬编码的方式我可以写三个类来实现该需求:1.咖啡单买;2.咖啡+糖;3.咖啡
梦中人在梦中
·
2020-02-05 03:49
Android
设计模式系列
(10)--SDK源码之原型模式
1.意图用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。2.结构图和代码它的结构图非常简单,我们以Intent为例子:Intent的clone方法非常简单:@OverridepublicObjectclone(){returnnewIntent(this);}返回一个新的Intent对象。克隆操作分深拷贝和浅拷贝,浅拷贝说白了就是把原对象所有的值和引用直接赋给新对象。深拷贝则不仅把
__帝华
·
2020-02-02 10:39
设计模式系列
(目录)
设计模式设计模式并没有想象中的高大上,在你平日的开发和使用中,也一定有使用到过什么是设计模式?设计模式(DesignPattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。你可以理解为,遇到某一种问题,设计模式帮助我们提供了一种解决方案,我们通过学习设计模式可以简化其中的解决过程。没有设计模式之前:遇到问题->分析问题->设计解决方案/不知道如何设计->实现方案/放弃->发
LucasLight
·
2020-01-08 08:45
状态设计模式(二) - 订单状态一般方法实现
前言状态
设计模式系列
文章状态设计模式(一)-定义状态设计模式(二)-订单状态一般方法实现状态设计模式(三)-订单状态状态设计模式实现1.需求比如有一个订单,默认情况是待付款,付款之后变为发货,发货之后变为待收货
世道无情
·
2020-01-08 04:21
30分钟学透设计模式1-单例模式的前世今生
http://www.jianshu.com/p/f71fabb46233
设计模式系列
:30分钟学透设计模式1-单例模式的前世今生30分钟学透设计模式2-随处可见的Builder模式30分钟学透设计模式
唐影若凡
·
2020-01-07 17:51
Java
设计模式系列
-单例模式
原创文章,转载请标注出处:《Java
设计模式系列
-单例模式》一、概述所谓单例,指的就是单实例,有且仅有一个类实例,这个单例不应该由人来控制,而应该由代码来限制,强制单例。
唯一浩哥
·
2020-01-06 22:59
Android 设计模式之各种工厂方法模式
久违的
设计模式系列
视频。之前写过三篇设计模式。感兴趣的可以看看。单例模式观察者模式策略模式好了,我们开始正式开始介绍工厂方法模式,简单工厂方法模式(静态工厂方法模式),抽象工厂方法模式。
lovesosoi
·
2020-01-06 09:15
设计模式系列
2--三大工厂模式
image今天学习下最常见的工厂模式,工厂模式细分下来有三大类:1.简单工厂2.工厂模式3.抽象工厂模式他们的目标都是一样的:封装对象的创建。但是实现手段和使用场景却是不相同。使用的时候三个模式也可以互相替换使用,导致很容易混淆三者。下面我们来具体看看三者的使用。简单工厂模式准确的说简单工厂不是一个模式,而是一种编程习惯。但是平时使用的非常多,我们就把他归到模式一类了。1、定义提供一个创建对象实例
西木柚子
·
2020-01-05 22:45
【趣味
设计模式系列
】之【状态模式】
1.简介状态模式(StatePattern),当一个对象内在状态改变时允许其改变行为,这个对象看起来像改变了其类。简而言之,就是状态的变更引起了行为的变更。2.图解下图四辆汽车,分别代表汽车日常的四种状态。开门状态:关门状态:飞奔状态:停止状态:其中,某种特定状态下,都有四个可执行操作,分别是open,close,run,stop,然后做对应的处理得下图所示。3.案例实现类图如下:定义汽车抽象状态
小猪爸爸
·
2020-01-05 00:00
Android的设计模式-外观模式
前言Android的
设计模式系列
文章介绍,欢迎关注,持续更新中:Android的设计模式-设计模式的六大原则一句话总结23种设计模式则创建型模式:Android的设计模式-单例模式Android的设计模式
四月葡萄
·
2020-01-04 20:11
设计模式系列
——工厂方法模式
简单工厂模式虽然简单,但存在一个很严重的问题。当系统中需要引入新产品时,由于静态工厂方法通过所传入参数的不同来创建不同的产品,这必定要修改工厂类的源代码,将违背“开闭原则”,如何实现增加新产品而不影响已有代码?工厂方法模式应运而生,本文将介绍第二种工厂模式——工厂方法模式。1日志记录器的设计Sunny软件公司欲开发一个系统运行日志记录器(Logger),该记录器可以通过多种途径保存系统的运行日志,
justCode_
·
2020-01-04 09:23
工厂方法模式(Factory Method)- 最易懂的设计模式解析
前言在上文提到的最易懂的
设计模式系列
解析:简单工厂模式,发现简单工厂模式存在一系列问题:工厂类集中了所有实例(产品)的创建逻辑,一旦这个工厂不能正常工作,整个系统都会受到影响;违背“开放-关闭原则”,一旦添加新产品就不得不修改工厂类的逻辑
Carson_Ho
·
2020-01-02 09:54
Android的设计模式-备忘录模式
前言Android的
设计模式系列
文章介绍,欢迎关注,持续更新中:Android的设计模式-设计模式的六大原则一句话总结23种设计模式则创建型模式:Android的设计模式-单例模式Android的设计模式
四月葡萄
·
2020-01-01 08:24
iOS设计模式(1)简单工厂模式
设计模式系列
文章《iOS设计模式(2)工厂模式》《iOS设计模式(3)适配器模式》《iOS设计模式(4)抽象工厂模式》《iOS设计模式(5)策略模式》《iOS设计模式(6)模板模式》《iOS设计模式(7
leehoo
·
2019-12-30 18:27
Android
设计模式系列
(12)--SDK源码之生成器模式(建造者模式)
1.意图将一个复杂对象的构建和它的表示分离,使得同样的创建过程可以创建不同的表示。2.结构图和代码android中大量的使用对话框组件,它的调用方法就是构建,拼接,表示。Builder通过setTitle(),setMessage(),setIcon()等方法在create()中构造出一个AlertDialogInstance对象。然后客户可以把把AlertDialogInstance对象show
__帝华
·
2019-12-30 05:36
设计模式系列
——适配器模式-Adapter Pattern
我的笔记本电脑的工作电压是20V,而我国的家庭用电是220V,如何让20V的笔记本电脑能够在220V的电压下工作?答案是引入一个电源适配器(ACAdapter),俗称充电器或变压器,有了这个电源适配器,生活用电和笔记本电脑即可兼容:在软件开发中,有时也存在类似这种不兼容的情况,我们也可以像引入一个电源适配器一样引入一个称之为适配器的角色来协调这些存在不兼容的结构,这种设计方案即为适配器模式。1.没
justCode_
·
2019-12-29 23:13
iOS
设计模式系列
二:装饰者模式
引言在介绍装饰者模式之前,我们先了解一个设计原则:多用组合,少用继承。在平时写代码时,我们应该减少类继承的使用,过多地使用类的继承会导致类数目过于庞大而变得难以维护,而使用组合可以让我们的系统更具弹性,更加容易修改和扩展。而的接下来将要讨论的装饰者模式正是使用了对象组合的方式,可以让我们在不修改原有代码的前提下,动态地给对象赋予新的职责。需求场景这里借用《HeadFirst设计模式》里的一个例子。
e227f7966522
·
2019-12-29 17:54
30分钟学透设计模式2-随处可见的Builder模式
https://www.jianshu.com/p/afffb69232ac
设计模式系列
:30分钟学透设计模式1-单例模式的前世今生30分钟学透设计模式2-随处可见的Builder模式30分钟学透设计模式
唐影若凡
·
2019-12-29 02:12
iOS 伪单例模式
本文仅探讨iOS中单例的适用场景及生命周期管理,如需单例教程及其定义作用的请访问:
设计模式系列
14--单例模式。最近在做项目的重构工作,翻看了一下源码,发现了各种历史遗留问题。
纯洁的小袋子
·
2019-12-28 18:07
Java与Kotlin的单例模式(霸气.jpg)
设计模式刚入门的小伙伴可以先看看这篇《设计模式入门》,在文章末尾也将列出“
设计模式系列
”文章。欢迎大家关注留言投币丢香蕉。什么是单例模式单例模式是设计模式中最简单的形式之一。
点先生在这
·
2019-12-28 12:30
状态设计模式(一) - 定义
前言状态
设计模式系列
文章状态设计模式(一)-定义状态设计模式(二)-订单状态一般方法实现状态设计模式(三)-订单状态状态设计模式实现1.定义?
世道无情
·
2019-12-28 09:50
设计模式系列
之十三代理模式
代理模式可以理解为通过一个中间者来访问数据,比如我们通过代理来访问互联网,通过代理商购买游戏点卡等。这些都属于代理模式的设计思想。Proxy 上图为代理模式的一般数据交互逻辑。在Java后台开发中,使用RMI调用远程数据既采用了代理模式。 在我的实际开发中,以个人开发经验,使用代理模式最主要是为了解决如下两个问题:封装访问远程数据的具体实现逻辑。即客户端只需调用Proxy提供的方法即可,不
梦中人在梦中
·
2019-12-28 04:03
Android 设计模式之代理模式
设计模式系列
文章Android设计模式之面向对象的六大原则Android设计模式之单例模式Android设计模式之Builder模式Android设计模式之观察者模式Android设计模式之装饰模式And
xxq2dream
·
2019-12-27 11:25
iOS
设计模式系列
(一)
设计模式什么是设计模式?设计模式是一个比较抽象的概念,但是又是实实在在存在的.设计模式,可以让项目的可维护性更好,它可以很方便的用来解决大型项目里面存在的一些问题.它是为解决特定场景下的问题而定制的解决方案.那么设计模式是怎么来的呢?软件开发的过程中,我们一般都会面临一系列的问题.比如:我们我们写的一些代码,在后面的业务变更中,可能要对这些代码里面的类或者是模块,要进行扩展或者修改.那么我们用什么
James_Gong
·
2019-12-26 12:40
30分钟学透设计模式5-从代理模式到AOP
https://www.jianshu.com/p/99122ea61f2f
设计模式系列
:30分钟学透设计模式1-单例模式的前世今生30分钟学透设计模式2-随处可见的Builder模式30分钟学透设计模式
唐影若凡
·
2019-12-26 00:00
设计模式系列
笔记
该项目源码地址:https://github.com/ggb2312/JavaNotes/tree/master/design-pattern(设计模式相关代码与笔记)1.前导学设计模式最好有以下两点知识基础。软件设计七大原则UML类图以及类与类之间的关系原因:设计模式是围绕着软件设计七大原则来说的,每一种设计模式通常会满足一到两三种软件设计原则,同时又可能违反某一种原则。学习这些原则可以理解该设
最后的轻语_dd43
·
2019-12-24 07:18
设计模式系列
--原型模式
定义原型模式属于对象的创建模式。通过给出一个原型对象来指明所有创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象。这就是原型模式的用意。原型模式的结构原型模式要求对象实现一个可以“克隆”自身的接口,这样就可以通过复制一个实例对象本身来创建一个新的实例。这样一来,通过原型实例创建新的对象,就不再需要关心这个实例本身的类型,只要实现了克隆自身的方法,就可以通过这个方法来获取新的对象,
暮染1
·
2019-12-24 05:09
iOS设计模式(8)外观模式
设计模式系列
文章《iOS设计模式(1)简单工厂模式》《iOS设计模式(2)工厂模式》《iOS设计模式(3)适配器模式》《iOS设计模式(4)抽象工厂模式》《iOS设计模式(5)策略模式》《iOS设计模式
leehoo
·
2019-12-23 03:10
iOS设计模式(4)抽象工厂模式
设计模式系列
文章《iOS设计模式(1)简单工厂模式》《iOS设计模式(2)工厂模式》《iOS设计模式(3)适配器模式》《iOS设计模式(5)策略模式》《iOS设计模式(6)模板模式》《iOS设计模式(7
leehoo
·
2019-12-21 08:08
设计模式系列
——迭代器模式
迭代器模式介绍迭代器模式是行为模式之一,又称为(Cursor)模式。迭代器模式源于对容器的访问,如List,Map等。如果想对一个容器进行遍历操作,我们可以在容器内部定义遍历的方法,但这样对容器来说就承担了过多的功能,因为不仅要维护自身数据元素还要对外提供遍历的接口方法;如果我们自己实现,又会让容器的内部细节暴露。因此,迭代器模式应运而生,在访问者和容器类之间加个第三者——迭代器,很好地解决了上述
linda_zhou
·
2019-12-20 19:41
iOS设计模式(6)模板模式
设计模式系列
文章《iOS设计模式(1)简单工厂模式》《iOS设计模式(2)工厂模式》《iOS设计模式(3)适配器模式》《iOS设计模式(4)抽象工厂模式》《iOS设计模式(5)策略模式》《iOS设计模式
leehoo
·
2019-12-20 06:20
Java设计模式百例 - 开篇
所以——如果你在找一个详细的、靠谱的、认真的
设计模式系列
文档,如果你觉得设计模式的学习总是虎头蛇尾、
享学IT
·
2019-12-16 23:27
设计模式常见面试知识点总结(Java版)
设计模式这篇总结主要是基于我
设计模式系列
的文章而形成的的。主要是把重要的知识点用自己的话说了一遍,可能会有一些错误,还望见谅和指点。
程序员黄小斜
·
2019-12-16 13:31
设计模式系列
--装饰者模式
意图动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。该模式以对客户端透明的方式扩展对象的功能。适用环境(1)在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。(2)处理那些可以撤消的职责。(3)当不能采用生成子类的方法进行扩充时。一种情况是,可能有大量独立的扩展,为支持每一种组合将产生大量的子类,使得子类数目呈爆炸性增长。另一种情况可能
暮染1
·
2019-12-15 09:57
30分钟学透设计模式4-最简单的面向接口编程-简单工厂模式
https://www.jianshu.com/p/39609c79c646
设计模式系列
:30分钟学透设计模式1-单例模式的前世今生30分钟学透设计模式2-随处可见的Builder模式30分钟学透设计模式
唐影若凡
·
2019-12-15 00:36
工厂设计模式(五) - 使用场景
前言工厂
设计模式系列
文章工厂设计模式(一)-简介工厂设计模式(二)-简单工厂模式工厂设计模式(三)-工厂方法模式工厂设计模式(四)-抽象工厂模式工厂设计模式(五)-使用场景1.工厂设计特性很多的对象都有公用的特性
世道无情
·
2019-12-13 23:40
设计模式系列
--代理模式
1.代理模式代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法举个例子来说明代理的作用:假设我们想邀请一位明星,那么并不是直接连接明星,而是联系明星的经纪人
暮染1
·
2019-12-13 21:52
Android重拾
设计模式系列
——抽象工厂模式
个人博客CoorChice,https://chenbingx.github.io/,最新文章将会首发CoorChice的博客,欢迎探索哦!同时,搜索微信公众号CoorChice,或扫描文章末尾二维码,可以关注我的微信公众号。同期文章也将会优先推送到微信公众号中,以提醒您有新鲜文章出炉。封面-设计模式.png抽象工厂模式和工厂方法模式很相似,都是延迟子类选择创建,但它们的不同点在于:工厂方法模式专
CoorChice
·
2019-12-13 01:26
设计模式资料积累
20170512182435_f2ZYB.jpeg这不是本篇的最终样式,这是我对于
设计模式系列
博客笔记的开端,也许有幸能有人从头看到尾,欣赏一篇美文,一个大知识点有少到多,知至最终积累完毕的过程,一步步的渐变
前行的乌龟
·
2019-12-12 17:42
30分钟学透设计模式3-使用最多的Iterator模式
https://www.jianshu.com/p/23e88dfe593b
设计模式系列
:30分钟学透设计模式1-单例模式的前世今生30分钟学透设计模式2-随处可见的Builder模式30分钟学透设计模式
唐影若凡
·
2019-12-12 09:03
状态设计模式(三) - 订单状态状态设计模式实现
前言状态
设计模式系列
文章状态设计模式(一)-定义状态设计模式(二)-订单状态一般方法实现状态设计模式(三)-订单状态状态设计模式实现1.需求比如有一个订单,默认情况是待付款,付款之后变为发货,发货之后变为待收货
世道无情
·
2019-12-08 15:18
iOS设计模式(3)适配器模式
设计模式系列
文章《iOS设计模式(1)简单工厂模式》《iOS设计模式(2)工厂模式》《iOS设计模式(4)抽象工厂模式》《iOS设计模式(5)策略模式》《iOS设计模式(6)模板模式》《iOS设计模式(
leehoo
·
2019-12-08 11:59
iOS设计模式(2)工厂模式
设计模式系列
文章《iOS设计模式(1)简单工厂模式》《iOS设计模式(3)适配器模式》《iOS设计模式(4)抽象工厂模式》《iOS设计模式(5)策略模式》《iOS设计模式(6)模板模式》《iOS设计模式
leehoo
·
2019-12-08 09:32
设计模式系列
9--状态模式
image今天我们来做一个糖果机吧,用户只需要投入25美分,就可以购买糖果了,具体的构造如下图所示:image每个圆圈都表示一种状态,而每个箭头都表示一种动作,这些状态随着不同动作的进行就可以不断切换。从图中可以看到我们有四种状态和四种动作,那么废话不多说,下面我们就来看看具体的代码实现。#import"gumabllMachines.h"typedefenum:NSUInteger{sold_o
西木柚子
·
2019-12-02 00:57
设计模式系列
15--最终篇
image终于要写完这个系列了,GOF的设计模式总共有23种,我在前面的篇章只写了其中16个,剩下的7个放到这篇文章一起写了。因为这6个设计模式要么是iOS自身语言特性已经实现了,要么是没有什么太大的利用价值,所以放在一起简单讲解下。今天要学习如下7种设计模式:原型模式迭代器模式备忘录模式访问者模式观察者模式模板方法模式解释器模式下面来一一讲解1、原型模式定义用原型实例指定创建对象的种类,并且通过
西木柚子
·
2019-12-01 15:52
Android重拾
设计模式系列
——单例模式的5种实现
个人博客CoorChice,https://chenbingx.github.io/,最新文章将会首发CoorChice的博客,欢迎探索哦!同时,搜索微信公众号CoorChice,或扫描文章末尾二维码,可以关注我的微信公众号。同期文章也将会优先推送到微信公众号中,以提醒您有新鲜文章出炉。封面-设计模式.png单例模式是我们最常使用,也是最简单的一种模式,主要用于只想系统中存在一个实例的情况,比如某
CoorChice
·
2019-12-01 11:51
设计模式系列
7--组合模式
场景分析我们平时去餐厅吃饭,都会使用菜单来点餐,今天我们来实现一个超级菜单,这个一个菜单大集合,包括单一菜品和子菜单,如图所示:image可以看到上面的菜单不但包括单个的菜品项目,还包括子菜单项目,子菜单也包含一系列菜品或者子菜单。我们现在想实现两个个需求:如果是菜单项目,我们需要打印菜单的名称和描述,添加删除子菜单或者菜品,打印所有子菜单、子菜单包括的菜品、子菜单的子菜单的名称和描述,一直递归打
西木柚子
·
2019-12-01 08:29
Android 设计模式之适配器模式
设计模式系列
文章Android设计模式之单例模式Android设计模式之Builder模式Android设计模式之观察者模式Android设计模式之代理模式Android设计模式之装饰模式Android
xxq2dream
·
2019-12-01 07:22
设计模式系列
——简单工厂模式-Simple Factory Pattern
工厂模式是最常用的一类创建型设计模式,通常我们所说的工厂模式是指工厂方法模式,它也是使用频率最高的工厂模式。本章将要学习的简单工厂模式是工厂方法模式的“小弟”,它不属于GoF23种设计模式,但在软件开发中应用也较为频繁,通常将它作为学习其他工厂模式的入门。此外,工厂方法模式还有一位“大哥”——抽象工厂模式。这三种工厂模式各具特色,难度也逐个加大,在软件开发中它们都得到了广泛的应用,成为面向对象软件
justCode_
·
2019-12-01 03:22
设计模式系列
之十二状态模式
举一个自动取款机的场景来说明状态模式的使用。去自动提款机取钱首先得有插卡的动作,最后还会有取卡的动作。对应两个状态,一个是无卡状态,另外一个是有卡状态。一、代码实现publicclassATM{finalstaticintNO_CARD=0;finalstaticintHAVE_CARD=1;//提款机初始状态为无卡intstate=NO_CARD;//插卡publicvoidinsertCa
梦中人在梦中
·
2019-11-30 03:33
上一页
11
12
13
14
15
16
17
18
下一页
按字母分类:
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
其他