java设计模式
ly_jiutianyu
想学却又懒得去学的笨蛋!
展开
-
java_23种设计模式之代理模式
什么是代理模式呢?我很忙,忙的没空理你,那你要找我呢,就先找我的代理人吧,那代理人总要知道被代理人能做哪些事情不能做哪些事情吧,那就是两个人具备同一个接口,代理人虽然不能干活,但是被代理的人能干活。 被代理人和被代理人继承同一个接口(抽象角色):声明真实对象和代理对象的共同接口; 真实对象:实际上干活的那个人。 代理对象:代理对象内部包含对真实对象的引用,从而可以操作真实对象,同时代理对象提原创 2012-11-18 14:41:49 · 299 阅读 · 0 评论 -
java_23种设计模式之模板方法模式
我们看一下模板方法模式的定义:一个操作中算法的骨架,而将这些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤。 具体适应情况如下: 例如在学开车过程中,我们都知道应该打开车门、启动引擎、挂档、踩油门、车开动。如果一个新开车的人,不知道这些步骤,则我们需要按照操作顺序写上这些步骤,然后每完成一步,去看一下步骤,最终会完成车的开动。而不同的车,步骤虽然一样原创 2012-11-20 16:27:22 · 553 阅读 · 0 评论 -
java_23种设计模式之适配器模式
在计算机编程中,适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。 具体使用场景如下: 若在一个人力资源管理系统中,有人员的录入模块,刚刚开始时,人员信息管理的对象是所有员工的所有信息,也就是说:有一个对象 UserInfo 存储用户的所有信息,示例如下:原创 2012-11-20 14:33:08 · 431 阅读 · 0 评论 -
java_23种设计模式之门面模式
门面模式为了系统提供一个 统一的高层接口供外部客户使用。也就是提供一个更高的层次的接口,使得子系统更容易使用。 ◇定义一个(或多个)具备所需接口的新类(门面类) ; ◇新类门户使用原来的系统,负责原系统的逻辑操作; ◇客户使用门面类对象与原系统打交道,由此不再需要知道原系统的操作逻辑,从而避免逻辑混乱。 都写过纸质的信件吧,比如给女朋友写情书什么的,写信的过程大家都还记得吧,先写信的内容,原创 2012-11-19 17:50:41 · 415 阅读 · 0 评论 -
java_23种设计模式之抽象工厂模式
定义:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。 抽象工厂模式与工厂方法模式的区别 抽象工厂模式是工厂方法模式的升级版本,他用来创建一组相关或者相互依赖的对象。他与工厂方法模式的区别就在于,工厂方法模式针对的是一个产品等级结构;而抽象工厂模式则是针对的多个产品等级结构。在编程中,通常一个产品结构,表现为一个接口或者抽象类,也就是说,工厂方法模式提供的原创 2012-11-19 16:31:14 · 307 阅读 · 0 评论 -
java_23种设计模式之工厂方法模式
对于简单工厂模式来说其最大的缺点就是不完全满足OCP。为了解决这一缺点,设计师们提出了工厂方法模式。工厂方法模式和简单工厂模式最大的不同在于,简单工厂模式只有一个(对于一个项目或者一个独立模块而言)工厂类,而工厂方法模式有一组实现了相同接口的工厂类。 下面我们通过修改简单工厂模式的实例来介绍工厂方法模式,其中红色的字体是与简单工程不同的地方,也就是实现了工厂的接口类。 1. package原创 2012-11-19 15:08:52 · 377 阅读 · 0 评论 -
非23种GOF设计模式之简单工厂模式
众所周知,JAVA最大的优点是他的完全OO化(面向对象)以及他多年的发展进程中吸收和总结的先进的架构和模式,其中呢,工厂模式是最常用的模式之一。 工厂模式包括三种:简单工厂模式、抽象工厂模式以及工厂方法模式。在此,现介绍一下简单工厂模式。 简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。 其包含的角色如下: 工厂角色:简原创 2012-11-19 11:19:28 · 449 阅读 · 0 评论 -
java_23种设计模式之多例模式
所谓多例模式,实际上就是单例模式的自然推广,单例类一般情况下只可以有一个实例,但单例类也可以推广到允许有限个实例,这种模式就是多例模式。作为对象的创建模式,多例模式有以下特点: 多例类可以有多个实例。 多例类必须自己创建、管理自己的实例,并向外界提供自己的实例。 多例类分为有上限多例类与无上限多例类。 一个有上限的多例类已经把实例的上限当原创 2012-11-18 17:00:33 · 405 阅读 · 0 评论 -
java_23种设计模式之单例模式
单例,顾名思义,就是在整个系统中只有一个实例,就是单一、独苗的意思。 单例模式有三个要点: 一是某个类只能有一个实例; 二是它必须自行创建这个实例; 三是它必须自行向整个系统提供这个实例。 其中该类我们称之为:单例类。 持有单例对象的客户类,共享同一个单例对象,对其中的单例资源拥有同样的操作权限。比如邮局里的电话簿只有一本,有需要的人就拿来看,没有必要每个人要查的时候工作人员就重新拿出原创 2012-11-18 15:26:08 · 359 阅读 · 0 评论 -
java_23种设计模式之策略模式
关于设计模式至今理解不是很深,在此发表文章一方面为了加深对设计模式的理解,另一方面希望由此与大家进行交流。 今天研究了一下策略模式,对策略模式理解为:通过对抽象策略角色(抽象类、接口)的实现的包装,从未进行动态操作的过程。 详细解释如下: 1.抽象策略角色:策略类,包含要做的事情(方法),通常有抽象类或接口进行实现; 2.策略类的实现:包装了对要做的事情的具体做法和行为; 3.动态操作:原创 2012-11-18 11:03:12 · 299 阅读 · 0 评论 -
java_23种设计模式之建造者模式
书接上文,若开车的流程因车而异呢,又该怎么处理呢!这时候我们需要知道顺序了,但是顺序不是我们所能决定的,所以了需要一个参数,来决定开车的操作顺序,因此呢,虚拟方法改为: package mode.test5.impler; import java.util.ArrayList; import java.util.Iterator; import java.util.List; /**原创 2012-11-21 15:06:32 · 429 阅读 · 1 评论