【设计模式】
文章平均质量分 77
HGuang_ZJH
三分天注定,七分靠打拼
展开
-
关于Java的23种设计模式的有趣见解
在网上看见了这篇文章,作者以轻松的语言比喻了java的32种模式,有很好的启发作用。好东西不得不转创建型模式1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory工厂模式:客户类和工厂类分开。消费者任何时候需要某种转载 2014-06-23 23:13:19 · 1537 阅读 · 1 评论 -
设计模式(8)—— 装饰者模式(Decorator Pattern)
我们都知道,可以使用两种方式给一个类或者对象添加行为。 一是使用继承。继承是给一个类添加行为的比较有效的途径。通过使用继承,可以使得子类在拥有自身方法的同时,还可以拥有父类的方法。但是使用继承是静态的,在编译的时候就已经决定了子类的行为,我们不便于控制增加行为的方式和时机。 二是使用关联。组合即将一个对象嵌入到另一个对象中,由另一个对象来决定是否引用该对转载 2014-06-27 15:08:17 · 872 阅读 · 0 评论 -
设计模式(7)——策略模式(Strategy Pattern)
现在需要封装一个算法,但是该算法有很多种不同的实现,比如,一个排序算法,可能有插入排序,冒泡排序,快速排序等不同的实现,而且要求这些算法由使用者来决定具体使用的是哪个算法,如何来设计呢? 这时,我们就会用到策略模式了,策略模式,就是将一个算法的不同实现封装成一个个单独的类,这些类实现同一个接口,使用者直接使用该接口来访问具体的算法。这个样子,使用者就可以使用不同的算转载 2014-06-27 10:20:24 · 955 阅读 · 0 评论 -
设计模式(6)——工厂方法模式(Factory Method Pattern)
工厂方法模式,往往是设计模式初学者入门的模式,的确,有人称之为最为典型最具启发效果的模式。android中用到了太多的工厂类,其中有用工厂方法模式的,当然也有很多工厂并不是使用工厂方法模式的,只是工具管理类。今天以ThreadFactory举例说明一下简单工厂模式和工厂方法模式。 工厂方法模式,Factory Method,简单的方式,不简单的应用。1.意图定义一个用于创建转载 2014-06-25 11:15:36 · 966 阅读 · 0 评论 -
设计模式(5)——适配器模式(Adapter Pattern)
对于android开发者来说起,适配器模式简直太熟悉不过,有很多应用可以说是天天在直接或者间接的用到适配器模式,比如ListView。ListView用于显示列表数据,但是作为列表数据集合有很多形式,有Array,有Cursor,我们需要对应的适配器作为桥梁,处理相应的数据(并能形成ListView所需要的视图)。正是因为定义了这些适配器接口和适配器类,才能使我们的数据简单灵活而又正确的显转载 2014-06-25 11:05:47 · 788 阅读 · 0 评论 -
设计模式(4)——模板方法模式(Template Method Pattern)
模板方法,和单例模式是我认为GOF的23中最简单的两种模式。但是我个人对模板方法的经典思想特别推崇,虽然模板方法在大对数情况下并不被推荐使用,但是这种通过父类调用子类的方法,使用继承来改变算法的一部分,是面向对象的一种基本认识。打比方说父亲有很多理想,就行医救人吧,但是父亲医术不行,只能靠儿子,儿子长大后遵从父亲大志,春风拂面,妙手回春,实现了父亲的理想,儿子做的事情早在出生前就定下来了,转载 2014-06-25 10:42:57 · 789 阅读 · 0 评论 -
设计模式(3)——观察者模式(Observer Pattern)
观察者模式,是一种非常常见的设计模式,在很多系统中随处可见,尤其是涉及到数据状态发生变化需要通知的情况下。本文以AbstractCursor为例子,展开分析。观察者模式,Observer Pattern,是一个很实用的模式,本人曾经接触到的各种平台以及曾经参与项目中打印模板解释器中都用到了此模式。1.意图定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它转载 2014-06-25 10:31:04 · 1075 阅读 · 0 评论 -
设计模式(1)——单例模式(Singleton Pattern)
单例模式,可以说是GOF的23种设计模式中最简单的一个。这个模式相对于其他几个模式比较独立,它只负责控制自己的实例化数量单一(而不是考虑为用户产生什么样的实例),很有意思,是一个感觉上很干净的模式,本人很喜欢这个模式。android中很多地方都用到了单例模式,本文以输入法管理者InputMethodManager为例,展开分析。单例模式,Singleton Pattern,能够以其特有转载 2014-06-25 10:27:37 · 901 阅读 · 0 评论 -
设计模式(2)——组合模式(Composite Pattern)
Android中对组合模式的应用,可谓是泛滥成粥,随处可见,那就是View和ViewGroup类的使用。在android UI设计,几乎所有的widget和布局类都依靠这两个类。组合模式,Composite Pattern,是一个非常巧妙的模式。几乎所有的面向对象系统都应用到了组合模式。1.意图将对象View和ViewGroup组合成树形结构以表示"部分-整体"的层次结构(View转载 2014-06-24 11:08:45 · 885 阅读 · 0 评论 -
UML类图 依赖 与 关联 的区别
最近研究设计模式,看类图有点发虚!有些关系搞的不是很清楚。所以整理一下: 类与类之间由弱到强关系是: 没关系 > 依赖 > 关联 > 聚合 > 组合。 类和类之间八竿子打不着那就是没关系,这个没啥歧义。 依赖(dependency) 可以简单的理解,就是一个类A使用到了另一个类B,而这种使用关系是具有偶然性的、、临时性的、非常转载 2014-06-27 10:15:42 · 1100 阅读 · 0 评论