Java 设计模式
文章平均质量分 88
panyzyw
这个作者很懒,什么都没留下…
展开
-
设计模式 建造者模式
一、概述Builder 模式 —— 建造者模式(又译成生成器模式)的主要功能是构建复杂的产品,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。二、适用性1.当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。 2.当构造过程必须允许被构造的对象有不同的表示时。三、参与者1.Builder 为创建一个Product对象的各个部转载 2017-03-02 00:28:33 · 232 阅读 · 0 评论 -
设计模式 组合模式 Composite
Composite模式定义: 将对象以树形结构组织起来,以达成“部分-整体” 的层次结构,使得客户端对单个对象和组合对象的使用具有一致性. Composite模式理解: 想到Composite就应该想到树形结构图。组合体内这些对象都有共同接口,当组合体一个对象的方法被调用执行时,Composite将遍历(Iterator)整个树形结构,寻找同样包含这转载 2017-03-06 15:28:22 · 218 阅读 · 0 评论 -
设计模式 代理模式
代理实现可以分为静态代理和动态代理。静态代理静态代理模式其实很常见,比如买火车票这件小事:黄牛相当于是火车站的代理,我们可以通过黄牛买票,但只能去火车站进行改签和退票。在代码实现中相当于为一个委托对象realSubject提供一个代理对象proxy,通过proxy可以调用realSubject的部分功能,并添加一些额外的业务处理,同时可以屏蔽realSubject中未开放的接口。转载 2017-02-24 18:34:04 · 361 阅读 · 0 评论 -
设计模式 策略模式 以角色游戏为背景
转载地址:http://blog.csdn.net/lmj623565791/article/details/24116745今天不想写代码,给大家带来一篇设计模式的文章,帮助大家可以把系统组织成容易了解、容易维护、具有弹性的架构。先来看看策略模式的定义:策略模式(Strategy Pattern):定义了算法族,分别封装起来,让它们之间可相互替换,此模式让算法的变化独转载 2017-02-23 22:34:51 · 272 阅读 · 0 评论 -
设计模式 观察者模式 以微信公众服务为例
转载地址:http://blog.csdn.net/lmj623565791/article/details/24179699继续设计模式的文章,今天给大家带来观察者模式。先来看看观察者模式的定义:定义了对象之间的一对多的依赖,这样一来,当一个对象改变时,它的所有的依赖者都会收到通知并自动更新。好了,对于定义的理解总是需要实例来解析的,如今的微信服务号相当火啊,转载 2017-02-23 22:37:24 · 278 阅读 · 0 评论 -
设计模式 装饰者模式 带你重回传奇世界
转载地址:http://blog.csdn.NET/lmj623565791/article/details/24269409今天继续设计模式之旅,给大家带来装饰者模式,国际惯例,先看定义。装饰者模式:若要扩展功能,装饰者提供了比集成更有弹性的替代方案,动态地将责任附加到对象上。先简单描述下装饰者模式发挥作用的地方,当我们设计好了一个类,我们需要给这个类添加一些辅助的功转载 2017-02-23 22:39:59 · 267 阅读 · 0 评论 -
设计模式 工厂模式 从卖肉夹馍说起
转载地址:http://blog.csdn.NET/lmj623565791/article/details/24460585今天继续设计模式之旅,给大家带来工厂模式,简单列一下这个模式的家族:1、静态工厂模式2、简单工厂模式3、工厂方法模式4、抽象工厂模式是不是觉得,我勒个去,这工厂还能列出这么多分类,哈哈,下面开始各个击破。1、静态工转载 2017-02-23 22:41:49 · 236 阅读 · 0 评论 -
设计模式 单例模式
转载地址:http://blog.csdn.net/lmj623565791/article/details/24468641继续设计模式,这个模式用得应该很频繁啊,而且也比较简单,如果现在你还不能纸笔随手写个单例出来,你就得加油了哈~直接介绍几种线程安全的且我觉得还比较不错的方式:1、是不是号称恶汉,就是类加载就初始化了[java] view转载 2017-02-23 22:43:25 · 210 阅读 · 0 评论 -
设计模式 命令模式 之 管理智能家电
转载地址:http://blog.csdn.net/lmj623565791/article/details/24602057继续设计模式哈,今天带来命令模式,二话不说,先看定义:定义:将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。这尼玛定义,看得人蛋疼,看不明白要淡定,我稍微简化一下:将请求封装成对象,将动作请求者转载 2017-02-23 22:46:05 · 268 阅读 · 0 评论 -
设计模式 适配器模式 以手机充电器为例
转载地址:http://blog.csdn.NET/lmj623565791/article/details/25833393坚持,坚持~继续设计模式,尼玛停了段时间就不想写了,一定要坚持~今天带来适配器模式老样子,定义:将一个类的接口转换成客户期望的另一个接口,适配器让原本接口不兼容的类可以相互合作。这个定义还好,说适配器的功能就是把一个接口转成另一个接口。发转载 2017-02-23 22:46:50 · 245 阅读 · 0 评论 -
设计模式 外观模式 一键电影模式
转载地址:http://blog.csdn.NET/lmj623565791/article/details/25837275这个模式比较简单,嘿嘿,简单写一下。老样子,先看 外观模式(Facade Pattern)定义:提供一个统一的接口,用来访问子系统中的一群接口,外观定义了一个高层的接口,让子系统更容易使用。其实就是为了方便客户的使用,把一群操作,封装成一个方法。转载 2017-02-23 22:49:29 · 361 阅读 · 0 评论 -
设计模式 模版方法模式 展现程序员的一天
转载地址:http://blog.csdn.NET/lmj623565791/article/details/26276093继续设计模式~ 模版方法模式老套路,先看下定义:定义了一个算法的骨架,而将一些步骤延迟到子类中,模版方法使得子类可以在不改变算法结构的情况下,重新定义算法的步骤。简单看下定义,模版方法定义了一个算法的步骤,并且允许子类为一个或多个步骤提供实现。定转载 2017-02-23 22:50:32 · 208 阅读 · 0 评论 -
设计模式 状态模式 以自动售货机为例
转载地址:http://blog.csdn.NET/lmj623565791/article/details/26350617状态模式给了我眼前一亮的感觉啊,值得学习~先看定义:允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。定义又开始模糊了,理一下,当对象的内部状态改变时,它的行为跟随状态的改变而改变了,看起来好像重新初始化了一个类似的。下面使用个例转载 2017-02-23 22:53:42 · 292 阅读 · 0 评论 -
设计模式 桥接模式
生活中的一个例子: 拿汽车在路上行驶的来说。既有小汽车又有公共汽车,它们都不但能在市区中的公路上行驶,也能在高速公路上行驶。这你会发现,对于交通工具(汽车)有不同的类型,它们所行驶的环境(路)也有不同类型,在软件系统中就要适应两个方面(不同车型,不同道路)的变化,怎样实现才能应对这种变化呢?概述:在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“转载 2017-03-03 00:05:53 · 178 阅读 · 0 评论 -
设计模式 原型模式
原型模式是一种创建型设计模式,它通过复制一个已经存在的实例来返回新的实例,而不是新建实例.被复制的实例就是我们所称的原型,这个原型是可定制的.原型模式多用于创建复杂的或者耗时的实例, 因为这种情况下,复制一个已经存在的实例可以使程序运行更高效,或者创建值相等,只是命名不一样的同类数据.原型模式中的拷贝分为"浅拷贝"和"深拷贝":浅拷贝: 对值类型的成员变量进行值的复制,对引用类型的转载 2017-03-01 22:13:51 · 175 阅读 · 0 评论 -
设计模式 享元模式 FlyWeight
在阎宏博士的《JAVA与模式》一书中开头是这样描述享元(Flyweight)模式的: Flyweight在拳击比赛中指最轻量级,即“蝇量级”或“雨量级”,这里选择使用“享元模式”的意译,是因为这样更能反映模式的用意。享元模式是对象的结构模式。享元模式以共享的方式高效地支持大量的细粒度对象。Java中的String类型 在JAVA语言中,String类型就是使用了享元转载 2017-03-06 17:18:52 · 193 阅读 · 0 评论