自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 设计模式总结之策略模式 (Strategy)

策略模式定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 下面以鸭子为例实现策略模式 package com.licong.strategy; /* * 超类,所有的鸭子都要继承此类 * 抽象了鸭子的行为:显示和鸣叫 */ public abstract class Duck { /* * 鸭子发出叫声 ...

2016-04-25 22:15:25 114

原创 设计模式总结之状态模式(State)

状态模式(State)就是根据对象的状态不同,将有不同的行为。当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。 状态模式使代码种复杂而庸长的逻辑判断语句问题得到了解决,而且具体状态角色将具体的状态和它对应的行为封装起来了,这使得增加一种新的状态变得十分简单。但是每一个状态对应一个具体的状态类,是结构分散,逻辑不是很清楚,阅读代码工作量会大一些。   // ...

2016-04-23 22:15:52 132

原创 设计模式总结之工厂模式 (Factory)

工厂方法模式,定义了一个创建对象的接口,由子类决定要实例化的类是哪一个,工厂方法让类的实例化推迟到子类。 简单工厂模式的区别是工厂方法是具体的,不需要推迟到子类。 抽象工厂方法模式,提供一个接口,用于创建相关依赖对象的家族,而不需要明确指定具体类。 下面以剪头发为例来实现工厂方法: 发型工厂 package com.sunny.project; import java.util...

2016-04-23 19:04:53 120

原创 设计模式总结之装饰模式 (Decorator)

装饰模式(Decorator)就是使用被装饰的一个子类的实例,在客户端将这个子类的实例委托给装饰类。装饰模式是结成关系的一个替代方案。 装饰模式以对客户端透明的方式增添了对象的功能,其在与动态的给对象添加了责任,当然这里的继承便是静态的。 其中重要的地方时装饰对象和真实对象有相同的接口,这样客户端就可以和真是对象一样的交互方式和装饰对象交互,然后装饰对象把所有从客户端接收过来的请求全部转发...

2016-04-22 13:17:47 111

原创 设计模式总结之适配器模式(adapter)

适配器模式定义:将一个类的接口,转化成客户期望的另一个接口,适配器让原本接口不兼容的类可以合作无间。 最常见的例子是三孔插座和两孔插座的适配: 适配器模式的对象: 1.请求对象(手机) 2.适配器对象(带有两孔和三孔的插座) 3.需要适配的对象(三孔插座) 4.请求对象所需要的接口。(插座要有两孔)   class Program 2 { 3 ...

2016-04-21 15:18:11 112

原创 设计原则总结

开放关闭原则 对扩展开放,对修改关闭。 即在添加功能的时候能够添加新的代码实现扩展(扩展软件实体的行为)而不需要修改原有的代码。 在软件的生命周期内,因为变化、升级和维护等原因需要对软件原有代码进行修改时,可能会给旧代码中引入错误,也可能会使我们不得不对整个功能进行重构,并且需要原有代码经过重新测试。 想要达到这样的效果,我们需要使用接口和抽象类。 依赖倒置原则  这个是开闭原则的...

2016-04-21 12:50:23 135

原创 设计模式总结之观察者模式(Observer)

       观察者模式(Observer)就是定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖它的对象都得到通知并被自动更新。        通过一个一个抽象的主题Subject保存了多个信息处理列表,可以添加多个观察者,实现即时的通知观察者最新动态然后分别派生子类对象对具体的消息和状态做出处理。 观察者模式的组成   抽象主题角色:把所有对观察者对象的引用保存在...

2016-04-20 16:02:19 142

原创 设计模式总结之职责链模式 (Chain of responsibility)

责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。 ● 抽象处理者(Handler)角色:定义出一个处理请求的接口。如果需要,接口可以定义 出一个方法以设定和返...

2016-04-19 11:42:45 178

原创 设计模式总结之代理模式 (Proxy)

代理模式(Proxy)就是为其他对象提供一种代理以控制这个对象的访问,去掉了某些功能或者是增加了一些额外的服务。 常见代理模式有: 远程代理(remoteProxy) 虚拟代理(virtualProxy) 保护代理(protectProxy) 智能引用代理(smartre reference proxy)--日志处理,权限处理,事务处理。   代理分为两种类型,静态代理和动态代理...

2016-04-18 00:12:52 79

原创 设计模式总结之模版方法模式 (Template)

模式定义         在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模版方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。 模式理解         简单来说就是,模版中定好步骤并实现基本方法,子类实现特定方法。         需要注意的地方:模版方法需要使用final标记以防止其它方法对模版做改动,模版方法的基本实现需要标记为private使得其子类...

2016-04-11 16:56:50 95

原创 设计模式总结之单列模式(Singleton)

单列模式是设计模式中最简单的一个,他的设计原则是保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。 [b]单列模式使用的注意事项[/b] 只有一个私有的构造函数,包含该类自身的静态私有对象,提供一个静态的公有的函数用于创建或获取它本身的静态私有对象。 [b]单列模式的误区[/b] 对如此简单的一个模式,我曾经陷入了一个误区,...

2015-05-11 12:57:57 174

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除