设计模式
Java知音_
欢迎微信搜索【Java知音】关注我的公众号,号内回复“后端面试”,送你一份精心准备的Java面试题(提纲+解析),Java知音每天推送精选好文,已经有十几万开发者关注,欢迎加入我们,共同交流,纠错
展开
-
23种设计模式(3)-原型模式
定义: 通过复制现有的对象实例来创建新的对象实例。实现:实现Cloneable接口: Cloneable接口的作用是在运行时通知虚拟机可以安全地在实现了此接口的类上使用clone方法。在java虚拟机中,只有实现了这个接口的类才可以被拷贝,否则在运行时会抛出CloneNotSupportedException异常。重写Object类中的clone方法: J原创 2017-09-04 09:21:40 · 1487 阅读 · 0 评论 -
设计模式是什么鬼(状态)
转自:设计模式是什么鬼(状态)状态State,指某事物所处的状况或形态,比如水的三态,零下会变成固态冰,常温会是液态水,100℃会蒸发成气态的水蒸气。 在这个地球生态系统中,水的总量并不会增加,也不会减少,只是随着温度的变化其分子间发生了稀松紧密的变化罢了,于是便有了不同的行为,比如流动、凝固、或是蒸腾,但对于其本质H2O分子对象并没有任何变化,变化的,只是其形态。 ...转载 2018-09-01 16:17:43 · 464 阅读 · 0 评论 -
设计模式是什么鬼(策略)
转自:设计模式是什么鬼(策略)策略,Strategy,古时也称“计”,为了达成某个目标的方案,目标不同,方案也随之更改。例如特工执行任务时总要准备好几套方案以应对突如其来的变化,A计划实施过程中情况突变导致预案无法继续实施,则马上更换为B计划,正所谓计划不如变化快,提前策划固然非常重要,而随机应变更是不可或缺,只有保证这种可变的灵活性才能立于不败之地。世界永远都在变,唯一不变的就是变本身。...转载 2018-09-01 16:16:36 · 343 阅读 · 0 评论 -
设计模式是什么鬼(原型)
转自:设计模式是什么鬼(原型)原型(Prototype)是什么意思?工业生产中通常是指在量产之前研发出的概念实现,如果可行性满足即可参照原型进行量产。有人说了,那不就是印章?其实这并不怎么贴切,印章并不是最终实例,我更愿意称其为“类”!呃……僵尸脸花泽类经世名言:想哭的时候就道理,这样眼泪就不会流出来了。(尼玛,都流脑子里了吧!)言归正传,大家一定见过这种印章吧,就是皮带轮...转载 2018-09-01 16:11:30 · 358 阅读 · 0 评论 -
设计模式是什么鬼(单例)
转自:设计模式是什么鬼(单例)之前我们讲过面向对象以及封装、继承、多态三大特性,底子打好了那我们就把设计模式一个个拆开来看看到底都是神些什么鬼,我们先从简单的单例说起吧。单例,顾名思义,整个系统其实就只有一个实例存在,不能再多,否则就不叫单例。那我们把整个宇宙看做是一个庞大的系统,这宇宙里有各种对象存在,人啊,动物啊,植物啊不胜枚举,这些都是实例,丰富多彩的世界是美好的。然而,持续几千年的战争...转载 2018-09-01 16:07:25 · 546 阅读 · 0 评论 -
设计模式是什么鬼(初探)
转自:设计模式是什么鬼(初探)“世界处处不设计”有物混成,先天地生。寂兮寥兮,独立而不改,周行而不殆,可以为天地母。吾不知其名,字之曰道,强为之名曰大。大曰逝,逝曰远,远曰反。道是什么?道可道,非常道。道不明,说不尽的才算是道,它是自然法则的终极抽象。但至少在某一方面,它是各种事物如何组织在一起以及进行沟通互动的原始规律。而在软件设计中,各个模块之间怎样组织通信成为一个优雅健壮的整...转载 2018-09-01 16:01:13 · 485 阅读 · 0 评论 -
23种设计模式(8)-外观模式
定义: 为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。角色: 1,外观(Facade)角色 :客户端可以调用这个角色的方法。此角色知晓相关子系统的功能和责任。在正常情况下,本角色会将所有从客户端发来的请求委派到相应的子系统去。 2,子系统(SubSystem)角色 :可以同时有一个或者多个子原创 2017-09-28 09:46:55 · 1285 阅读 · 2 评论 -
23种设计模式(5)-适配器模式
定义:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 角色:目标(Target)角色:这就是所期待得到的接口,也就是这类的接口是符合我们要求的。 源(Adapee)角色:我们要使用的接口,但是这个接口不符合我们的要求,也就是现在需要适配的接口。 适配器(Adaper)角色:适配器类是适配器模式的核心。适配器把源接口转换成目标接口原创 2017-09-10 12:38:57 · 1330 阅读 · 0 评论 -
23种设计模式(7)-代理模式
定义: 为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用 角色:1, 抽象角色:声明真实对象和代理对象的共同接口。2, 代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能代替真实对象。同时,代理对象可以在执行真实对原创 2017-09-17 14:55:48 · 1511 阅读 · 0 评论 -
23种设计模式(4)-生成器模式
定义: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。生成器模式利用一个导演者对象和具体建造者对象一个一个地建造出所有的零件,从而建造出完整的对象。四个要素: Builder:生成器接口,定义创建一个Product对象所需要的各个部件的操作。 ConcreteBuilder:具体的生成器实现,实现各个部件的创建,并负责组装Pro原创 2017-09-08 09:44:20 · 1327 阅读 · 0 评论 -
23种设计模式(6)-装饰者模式
定义: 在不必改变原类文件和原类使用的继承的情况下,动态地扩展一个对象的功能。 它是通过创建一个包装对象,也就是用装饰来包裹真实的对象来实现。角色: 抽象构件角色(Project):给出一个接口,以规范准备接收附加责任的对象。 具体构件角色(Employe):定义一个将要接收附加责任的类。 装饰角色(Manager):持有一个构件对象的实例,并定义一个与抽象构件接口一原创 2017-09-14 09:22:50 · 1565 阅读 · 1 评论 -
23种设计模式(1)-单例模式
定义: 单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例。即一个类只有一个对象实例。特点: 1、单例类只能有一个实例。 2、单例类必须自己自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例单例模式的要点: 1,私有的构造方法 2,指向自己实例的私有静态引用原创 2017-09-02 16:56:51 · 1365 阅读 · 2 评论 -
23种设计模式(2)-工厂模式
定义: 工厂模式是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。 工厂模式根据抽象程度的不同分为三种:简单工厂模式(也叫静态工厂模式)工厂方法模式(也叫多形性工厂)抽象工厂模式(也叫工具箱) 简单工厂模式原创 2017-09-02 16:58:33 · 1587 阅读 · 0 评论 -
设计模式是什么鬼(模板方法)
转自:设计模式是什么鬼(模板方法)面向对象,是对事物属性与行为的封装,方法,指的就是行为。模板方法,显而易见是说某个方法充当了模板的作用,其充分利用了抽象类虚实结合的特性,虚部抽象预留,实部固定延续,以达到将某种固有行为延续至子类的目的。反观接口,则达不到这种目的。要搞明白模板方法,首先我们从接口与抽象类的区别切入,这也是面试官经常会问到的问题。 汽车上的接口最常见的就...转载 2018-09-01 16:24:22 · 355 阅读 · 0 评论