设计模式
-
Java设计模式:代理模式(一)
问题的提出 现在生活中,常常在微信朋友圈里面看到代购的信息,你想在国外买什么,香港买什么,但是又懒得自己过去,于是常常委托别人帮忙买奶粉买那啥的。这类问题的缘由是因为客户和原产地没有直接的接触,所以需要一个代理(代购)的第三者来实现间接引用。代理对象可以在客户端和目标对象间起到中介作用,而且可以通过代理对象去掉客户不能看到的内容和服务或者添加客户需要的额外服…
-
工厂设计模式 Factory
Factory 主要用来实例化有共同接口的类,工厂模式可以动态决定应该实例化那一个类。 例如:汽车销售商场 该模式将创建对象的过程放在了一个静态方法中来实现.在实际编程中,如果需要大量的创建对象,该模式是比较理想的. public class Demo1 { public static void main(String[] args) { System.ou…
-
单例设计模式 Single
一些人总结出来用来解决特定问题的固定的解决方案。 解决一个类在内存中只存在一个对象,想要保证对象的唯一。 1 为了避免其他程序过多的建立该类对象。禁止其他程序建立该类对象。 2 为了其他程序可以访问该类对象,在本类中自定义一个对象。 3 方便其他程序对自定义类的对象的访问,对外提供一些访问方式。 代码: 1将构造函数…
-
php初学者的问题-编码-设计模式-面向对象-算法-框架
作为一个phpper,没少看别人的源程序,看多了也懂了不少做多了,积累了不少的经验,今天我就讲讲心得。 PHP其实是一种很简单易学的语言.如果要精通PHP多则三年.少则一年就足够了.但是我觉得哪怕是三年也不得不继续去学习和掌握,因为程序更新实在是太快了,你刚做完这个,那个新技术又出来了你又不得不去马上学习,所以很累很苦,但是学习多了对自己而言也是一种提高,…
-
设计模式之 ==> 装饰器设计模式
一、什么是装饰器设计模式 装饰器模式(Decorator Pattern),是在不必改变原类文件和使用继承的情况下,动态的扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。 使用装饰器模式的时候需要注意一下几点内容: 装饰对象和真实对象有相同的接口。这样客户端对象就可以以和真实对象相同的方式和装饰对象交互。 装饰对象包含一个真实对…
-
设计模式之 ==> 观察者计模式
一、什么是观察者设计模式 先来看一下下面的定义: 观察者模式(Observe Pattern)定义对象之间的一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。 自己的理解: 除了上面描述的定义,观察者设计模式还可以用于一个流程的数据获取,或者一系列数据的校验,下面我们来举几个例子。 二、场景一 场景描述:有一个数据…
-
设计模式之 ==> 策略设计模式
一、什么是策略设计模式 策略设计模式(Strategy Pattern)定义了一系列的算法,并将每一个算法封装起来,而且使它们之间可以互相替换。策略模式让算法的变化不会影响到使用算法的客户。 分析下定义,策略模式定义和封装了一系列的算法,它们是可以相互替换的,也就是说它们具有共性,而它们的共性就体现在策略接口的行为上,另外为了达到最后一句话的目的,也…
-
解释器模式-设计模式系列
导读:解释器模式,平常用的比较的少,所以在写这个模式之前在博客园搜索了一番,看完之后那叫一个头大。篇幅很长,我鼓足了劲看了半天的描述跟解释,可能是本人的水平有限,或者是耐心太差,看到一半就有点扛不住了。我感觉对于一个菜鸟或者是没接触过设计模式的人来说,在看设计模式的时候更希望作者能简短的用几行代码来描述设计模式,这样起码看完大体有个概念。 …
-
状态模式-设计模式系列
概述: 当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。 状态模式主要解决的是当控制一个对象状态的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简化。 意图: 允许一个对象在其内部状态改变时改变它的行为 …
-
职责链模式-设计模式系列
导读:职责链模式是一个既简单又复杂的设计模式,刚开始学习这个设计模式的时候光示例都看了好几遍。就为了理清里面的逻辑走向。是个值得慢慢品味的设计模式 概述: 使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。 结构图: …