
设计模式
wangchao_17915566
这个作者很懒,什么都没留下…
展开
-
了解享元模式
享元模式,高效的支持细粒度的对象。享元对象能做到共享的关键是区分内蕴状态和外蕴状态,一个内蕴状态是存储在享元对象内部的,并不会随环境的变化而变化,因此,一个享元可以具有内蕴状态并可以共享。一个外蕴状态是随环境变化而变化的,不可以共享。享元对象的外蕴状态必须由客户端保存,并在享元对象后被创建之后,在需要使用的时候再传入到享元对象内部。外蕴状态不能影响内蕴状态,即相互独立。 上...2008-12-05 13:59:51 · 131 阅读 · 0 评论 -
了解桥模式
桥模式:将某个问题抽象的不同形式分别与该问题的具体实现部分相分离,使他们都可以独立变化,并能够动态结合。 例如电视厂商海尔,长虹生产21寸,29寸电视机。从这里要将它们分离出来,就用到桥模式。电视机与电视机生产厂商挂桥,从而,分离出不同厂商的实现,与不同电视机型号的实现. 下面看下uml 从上图可以看出,将实际抽象分离出来。看下代码创建电视机public abst...2008-12-03 17:45:38 · 175 阅读 · 0 评论 -
了解装饰模式
装饰模式:动态给一个对象添加一些额外的职责,使用Decorator模式比用生成子类方法达到功能的扩充更为灵活为什么使用:通常使用继承来实现功能扩展,如果扩展的功能种类繁多,会生成很多子类,增加系统的复杂性。使用继承实现扩展必须预见性,在编译前已确定,是静态的。例如要去商店买肉,首先定义买的接口public interface Shop { public void buy();} ...2008-12-03 11:18:41 · 100 阅读 · 0 评论 -
了解组合模式
组合模式,一般就是“整体,部分”的概念,在java与模式中举了一个大家经常听过的故事,很形象,从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事,讲的内容是:从前有座山......一直这样下去。从这里看出,整体是这个故事,故事里面的故事则是部分。这也是一个简单的组合模式。 组合模式把整体和部分的关系用树结果表示出来,使得客户端把一个单独的成分对象和复合对象同等对待。 ...2008-12-02 16:24:46 · 89 阅读 · 0 评论 -
了解适配器模式
客户端通过类的接口访问提供的服务,一般现有类可提供用户的所需功能,而有时不能满足用户的期望。例如有两个毫无关联的类组合在一起使用,要么就是修改各自的接口,但是在不修改各自接口的前提下,应该怎么做呢?使用Adapter模式,使得原本需要修改接口的才能在一起工作的两个类可以通过此模式不进行修改接口,在一起工作。 举个例子,面包制作商可以制作面包,蛋糕制作商可以制作蛋糕,某工厂以前请...2008-12-01 14:45:20 · 96 阅读 · 0 评论 -
了解代理模式
简单的了解下代理模式代理就是一个人或一个机构代表另一个人或者机构采取行动。在一些情况下,一个客户不想或不能够直接引用对象,而代理对象可以在客户端和目标对象之间起到中介作用 代理模式包括远程代理,虚拟代理,copy-on-write代理,保护代理,catch代理,防火墙代理,同步化代理,只能引用代理,这些我就不一一介绍,我只是用简单例子,了解什么是代理模式。 代理模式设计到的角...2008-11-28 17:09:50 · 103 阅读 · 0 评论 -
了解外观模式
外观模式(Facade pattern),用户操作不同的子系统,要解决用户与子系统的高耦合度,则使用此模式,增加一个用户操作系统,用户可通过此系统,操作到其他子系统,从而降低用户与子系统的耦合。例如顾客要买肉,水果,用品。顾客一与顾客二买的东西有些一样,有些不一样。子系统:public class Fruit { public String apple; public Strin...2008-11-28 10:52:43 · 119 阅读 · 0 评论 -
了解原型模式
原型模式(Prototype): 用原型实例指定创建对象的种类,并且通过拷贝原型来创建新的实例对象。它允许一个对象再创建另外一个可定制的对象,根本无需知道任何创建细节,工作原理,通过将一个原型对象传给那个要发动创建的对象,这个发动创建对象通过请求原型对象拷贝它们自己来创建。通俗点,就是通过拷贝来进行创建实例。例如:代码一:public class AbstractSpoon impleme...2008-11-27 17:56:57 · 95 阅读 · 0 评论 -
了解建造者模式
了解建造者模式: 在软件系统中,经常会遇到一个创建工作,一个复杂对象由各部分子对象用一定算法构成,由于需求改变,这个复杂对象各个部分面临剧烈变化的,但组合在一起相对稳定。 个人理解:要去商店买吃的,商店有汉堡,可乐,鸡腿等等。顾客可以说自己的需要,告诉服务生,服务生分配给你所需要的东西。 //可乐 public class CocaCola { private...2008-11-27 11:03:30 · 90 阅读 · 0 评论 -
学习单例模式
看了下单例模式,个人理解就是只能有一此实例化,这样对性能有一定提高。下面说说学习小例子:public class Singleton { private Singleton(){} private static Singleton instance = new Singleton(); public static Singleton getInstance(){ return...2008-11-26 18:25:23 · 108 阅读 · 0 评论 -
学习工厂模式
今天了解了工厂模式,总结下: 首先是简单工厂模式,大家在开发中经常用到,感觉就是在类里面增加一些静态方法,这个类就是工厂类,以后调用这些方法时不用实例化此类。一个例子,动物有吃,喝的功能,写个动物接口。public interface Animal { public void eat(); public void drink();} 猫,狗继承动物,就有了这两个功...2008-11-26 14:38:53 · 101 阅读 · 0 评论