自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(18)
  • 收藏
  • 关注

转载 设计模式 | 单例模式(singleton)

定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。结构:(书中图,侵删)结构超简单。就在你想控制实例数的类上操作即可。1.定义一个static的对象引用2.私有化构造方法3.提供一个获取实例的方法(static的)实例:这又是一个在面试中频繁出现的设计模式,我至今不知道为什么大家那么偏爱这个模式。而且基本上都...

2019-06-06 21:15:00 81

转载 设计模式 | 迭代器模式(iterator)

定义:提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。结构:(书中图,侵删)一个抽象的聚合类若干个具体的聚合类,有一个生成迭代器的方法(相当于实现java的Iterable接口)一个抽象的迭代器,定义了迭代所必须的方法若干个具体的迭代器来学习一下java中结构《Java编程思想》中,有关集合的类图(应该...

2019-06-04 20:07:00 105

转载 设计模式 | 组合模式(composite)

定义:将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。结构:(书中图,侵删)一个Component接口:定义统一的方法若干树枝(Composite)类(继承Component):可包含若干个叶子(Leaf)节点若干树叶(Leaf)类:叶子节点书中说到这个模式有两种方式:透...

2019-06-04 16:48:00 123

转载 设计模式 |备忘录模式(memento)

定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可以将该对象恢复到原先保存的状态。结构:(书中图,侵删)Originator:需要备份的类(写在便签上的内容)Memento:备份类,里面包含部分或全部Originator的属性(便签纸)Caretaker:真正保存备份的地方(便签纸贴的地方)实例...

2019-06-03 21:23:00 104

转载 设计模式 | 适配器模式(adapter)

定义:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。书中说到Gof的设计模式中,讲了两种类型的适配器模式:1.类适配器模式2.对象适配器模式其中,类适配器模式,是通过多重继承来实现了。但是Java是不支持多重继承的,所以下面主要讲的是对象适配器模式。结构:(书...

2019-06-03 20:05:00 72

转载 设计模式 | 状态模式(state)

定义:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。结构:(书中图,侵删)一个抽象的状态类,拥有一个与状态相关的行为方法若干个具体的状态类一个上下文类,持有抽象状态类实例:写到这里,看了一眼桌上的零食,想到了一个例子。食品大概分为三个阶段,或者说三种状态:最佳食用期,可食用期(过了最佳食用期,但未过期)...

2019-06-03 00:07:00 73

转载 设计模式 | 抽象工厂模式(abstract factory)

定义:提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类。结构:(书中图,侵删)这个图相对来说有一点点复杂,其实就是在工厂方法模式的基础上做了一些扩展,工厂方法模式只用于生成一种产品(把上图ProductB相关的都去掉就是了),而抽象工厂模式可用于生产多种产品。加上例子吧,假设生产海贼的手办(路飞和娜美)。一个抽象工厂抽象接口(包含...

2019-04-27 01:19:00 85

转载 设计模式 | 观察者模式/发布-订阅模式(observer/publish-subscribe)

定义:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使他们能够自动更新自己。结构:(书中图,侵删)一个抽象的观察者接口,拥有一个更新方法若干个具体的观察者类一个抽象的subject类,包含一个抽象观察者的集合,并拥有增加、删除观察者的方法,以及一个通知的方法若干个具体subject类...

2019-04-25 22:09:00 150

转载 设计模式 | 建造者模式/生成器模式(builder)

定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。结构:(书中图,侵删)一个产品类一个指定产品各个部件的抽象创建接口若干个实现了各个部件的具体实现的创建类一个指挥者,用于控制具体的创建过程,包含一个抽象创建接口的引用实例:书中使用了游戏中创建人物的例子,人都有头、四肢、躯干这些固定组成部分,但是高矮胖...

2019-04-18 01:43:00 72

转载 设计模式 | 外观模式/门面模式(facade)

定义:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。结构:(书中图,侵删)一个简洁易用的外观类一个复杂的子系统实例:书中提到了理财的例子,找理财经理就不用自己研究各种股票债券什么了;致使我一度脑子里只想到了房屋中介,感觉跳不出这个框架了。最后,终于让我想到了别的例子:有困难找警察。我...

2019-04-12 22:30:00 89

转载 设计模式 | 模板方法模式(template method)

定义:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。结构:(书中图,侵删)一个定义整体框架的父类若干不同具体实现的子类实例:我瞬间就想到了很多RPG游戏。不同职业在新手村完成任务,最多就是打的怪名字不一样、不同职业奖励的装备不一样子类的。基本上都是一...

2019-04-12 16:39:00 59

转载 设计模式 | 原型模式(prototype)

定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。结构:(书中图,侵删)一个申明克隆自己的接口若干具体的需要克隆自己的类这个结构很简单,而且在Java中那个接口是不需要自己写的。Java类库中有现成的Cloneable接口,这只是一个标记接口,里面没有任何方法,但如果不加这个标记,会抛CloneNotSupportedExceptio...

2019-04-09 22:18:00 68

转载 设计模式 | 工厂方法模式(factory method)

定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。结构:(书中图,侵删)一个工厂的抽象接口若干个具体的工厂类一个需要创建对象的抽象接口若干个所需创建的对象的类较之简单工厂方法,多了一层抽象——将工厂也抽象了;由原来的一个万能工厂变为现在的若干个各司其职的工厂。导致的结果就是:原...

2019-04-09 20:07:00 64

转载 设计模式 | 代理模式(proxy)

定义:为其他对象提供一种代理以控制对这个对象的访问。结构:(书中图,侵删)一个定义公共方法的接口一个真实实体一个含有真实实体引用的代理类实例:我思考了一下,咱们的科学上网就是一种代理如上图,假如要访问油管,我们需要先将请求发给代理服务器,由代理服务器帮我们访问目标网站。但是一般这种目标网站是不知道真正访问的人——也就是我的存在的。...

2019-04-09 18:38:00 72

转载 设计模式 | 装饰模式(decorator)

定义:装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。结构:(书中图,侵删)一个被装饰接口类:从具体类中抽象出来,拥有用于修饰的一个公共方法若干被装饰具体类;继承于被装饰接口类一个抽象装饰类:继承于被装饰接口类若干具体装饰类:具体的装饰方法装饰模式是为了扩展原有方法(...

2019-01-28 15:31:00 66

转载 设计模式 | 策略模式(strategy)

参考:https://www.cnblogs.com/lewis0077/p/5133812.html(深入解析策略模式)定义:策略模式定义了一系列的算法,并将每一个算法封装起来,使每个算法可以相互替代,使算法本身和使用算法的客户端分割开来,相互独立。结构:(书中的图,侵删)1.一个定义公共方法的接口2.若干实现了接口的具体实现3.上下文context...

2019-01-22 11:42:00 72

转载 设计模式 | 简单工厂模式(static factory method)

按理说应该把书全都看完一遍,再开始写博客比较科学,会有比较全面的认识。但是既然都决定要按规律更新博客了,只能看完一个设计模式写一篇了。也算是逼自己思考了,不是看完就过,至少得把代码自己都敲一遍。刚开始可能写的比较浅显,更像是读书笔记,只能未来回来完善了。废话啰嗦到这,开始正题。文章是以一个面试中,面试官要求写一个计算器开头的。巧的是,在之前的一次面试中,刚好面...

2019-01-09 15:20:00 155

转载 前言

各种技术大佬都建议要写博客,所以决定亲自试一下。我是大概在大学的时候就看到了这样一篇博客(不知道这个是不是原博客):http://www.cnblogs.com/zuoxiaolong/p/life51.html(回答阿里社招面试如何准备,顺便谈谈对于Java程序猿学习当中各个阶段的建议)刚好和我的职业吻合,所以立马下单,买了一本《Java编程思想》。终于到昨天,我才把这...

2018-12-20 16:04:00 64

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除