
DesignPattern(Java)
文章平均质量分 91
nvd11
大龄程序员
展开
-
原型模式(ProtoType) - Java里的对象复制
一, 引用的复制和对象复制.在编程中, 我们有时会用两个引用原创 2014-12-21 15:04:33 · 997 阅读 · 0 评论 -
代理模式(Proxy)简介
代理模式相对来讲比较简单和容易理解.一, 代理模式(Proxy)的定义教材里定义很简单:所谓代理模式, 就是为其他对象提供一种代理控制对这个对象的访问.上面出现了3个名词:1.其他对象2.一种代理3.这个对象实际上就是:这个对象 找了 一种代理来 避免其他对象的访问二, 代理模式的例子例如有个狐狸揍1个只狗, 给它原创 2014-12-14 15:40:14 · 1019 阅读 · 1 评论 -
Java 利用反射实现C#的委托
一, 观察者模式的缺点在之前的博文的介绍过观察者模式了.观察者模式可以让多个观察者同时观察1个被观察者.也就说被观察者可以1次过执行所有观察者的update()方法.再通俗d来讲, 就是多个观察者的Update()方法交给被观察者来执行了.观察者主要应用在Gui 界面的控件事件上, 例如按个按钮可以,令多个其他控件同时产生变化.但是观察者原创 2015-01-03 21:37:53 · 2696 阅读 · 0 评论 -
java 回调(callback)函数简介.
一, 什么是回调函数(callback)假如类A有1个方法a(), 但是它不知道什么时候调用这个方法a().而类B告诉类A, 我知道什么时候调用. 那么类A就把自己交给类B(作为类B的一个成员), 当时机适合时, 类B会调用类A的a()方法.那么a() 就叫回调(callback)方法.可能我上面的解释不够好,记住关键两点就得了:1. 类A 要成为类B的一原创 2015-01-02 22:05:31 · 3817 阅读 · 1 评论 -
观察者模式(Observer) 简介
一, 观察者模式(Observer) 的定义观察者模式: 定义了一种 1对多 的依赖关系, 让多个观察者对象同时监听1个主题对象. 这个主题对象在状态发生变化时, 会通知所有的观察者对象, 使它们能够同时更新自己.稍微解释一下 这个1 对多 的依赖关系.1对多 这个关键词我们常常在DB 表设计里提到, 但是这里的意思是有原创 2014-12-31 23:40:19 · 10509 阅读 · 2 评论 -
为什么有人说面向对象编程就是面向接口编程?
"面向对象编程就是面向接口编程"这句话相信, 很多人都在网上见过, 装b利器.我一开始也是这么想的, 那些装b者丢下这一句, 就没下文了.首先, 我认为这句话是1个假命题.但是, 这句话是1个很好的建议, 也就是我们应该尽量地"面向接口编程".一, 什么是面向对象编程这个问题, 相信很多人包括我也无法准确表达出答案.我大概做个总结.1...原创 2015-01-01 00:52:36 · 4699 阅读 · 1 评论 -
装饰模式(Decorator)简介
装饰模式是第三个介绍的模式了.这个模式没有前面两个那么好理解.,一, 装饰模式(decorator)的定义.教材里是这样写的:动态第给1个对象添加1写额外的职责(功能), 就增加的功能来讲, 装饰模式比生成子类更加灵活.就咁睇的确很难明白. 但我们起码可以知道一下两点:1. 装饰模式的作用是增强1个对象(类) 的功能. 2. 它比生成子类更加灵活原创 2014-12-14 13:45:38 · 629 阅读 · 0 评论 -
工厂方法模式(Factory Method)简介
工厂方法模式 名字 跟已经介绍的 简单工厂模式很类似.实际上它们的模型也是十分相似的.我们先看看工厂模式的定义.一. 工厂方法(Factory Method)模式定义教材上是这样写的:工厂方法模式(Factory Method):定义1个用于创建对象的接口, 让子类决定实例化哪个类. 工厂模式使1个类的实例化延迟到其子类.是不是觉得定义很原创 2014-12-15 00:22:53 · 894 阅读 · 0 评论 -
简单工厂(SimpleFactory)模式简介
简单工厂模式是最简单的模式了,也是我们打开教材的第一个模式.一, 简单工厂模式的定义.简单工厂模式是这样的:建立1个工厂类, 这个类有1个静态方法, 根据条件(参数)的不同返回不同的同1个类族的对象.也就是工厂的产品是对象.但是这种些对象可以属于不同的类, 但是它们的类通常是属于同一超类或实现同一 接口的子类.比如: 1个工厂原创 2014-12-10 23:48:02 · 1206 阅读 · 1 评论 -
策略模式(Strategy)简介
一, 回顾简单工厂模式(SimpleFactory)上一篇博文: http://blog.youkuaiyun.com/nvd11/article/details/41855937还是用回那个计算器作例子.用简单工厂模式实现的UML图是这样的:客户端关键代码:private void BtnClicked_btnDel(){ int i = Integ原创 2014-12-12 23:37:32 · 1274 阅读 · 0 评论 -
建造者模式简介
建造者模式听起来有点高大上, 也是程序猿之间常常提起的模式之一.其实它有1个前提跟模板方法模式(Template Method)有点类似, 就是建造这个过程可以分拆成若干个部分(步骤).我们先看定义.一, 建造者模式的定义建造者模式(Builder), 将1个复杂对象的构建与它的表示分离. 使得同样的构建过程可以创建不同的表示.定义很简练啊.原创 2014-12-25 00:22:50 · 733 阅读 · 0 评论 -
外观模式(Facade) - 为系统分层次
程序面试时经常会碰到系统分层的问题. 要你描述怎样分层, 分层的好处等.而Java 有个外观模式(facade) 正能帮组我们对系统分层次.一, 外观模式(Facade) 的定义所谓外观模式, 子系统中的一组接口提供1个一致的界面, 此模式定义了1个高层接口, 这个接口使得这1个子系统更加容易使用.注意, 这里的接口并不是java的interface的意思原创 2014-12-22 22:44:13 · 1580 阅读 · 0 评论 -
模板方法模式(TemplateMethod) 简介
模板方法模式是一个相当简单的模式.可能1个完全不懂设计模式的程序猿在不知不觉间也多次使用了它.我们先看看定义.一.模板模式(TemplateMethod) 的定义.所谓模板方法模式, 就是定义1个操作中的算法的骨架, 而将一些步骤延迟到子类中. 模板方法使得子类可以不改变1个算法的结构即可重定义该算法的某些特定步骤.看了这么多设计模式的定原创 2014-12-21 22:17:24 · 820 阅读 · 0 评论 -
迪米特法则(Law of Demeter) 简介
在Java里class设计经常会提到一些个原则或者规则最出名的莫非是 封闭-开放原则了(closed-open principle)而这次这个 Law of Demeter 也是挺重要的.一, 迪米特法则(Law of Demeter)的定义迪米特法则(Law of Demeter)又叫作最少知识原则(Least Knowledge Principle 简写LKP)原创 2014-12-21 23:20:07 · 1992 阅读 · 0 评论 -
Java 动态代理介绍及用法
Java 动态代理介绍及用法一,静态代理模式的特点在之前的文章中 java代理模式 已经介绍里java里的(静态)代理模式下面是上文静态代理类的例子:public class ProxyBear implements Hitable<Dog>{ private Hitable<Dog> f = null; public ProxyBear(){ if (n原创 2016-05-28 22:25:06 · 1223 阅读 · 0 评论