自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Headfirst java设计模式-代理模式

代理模式:为另一个对象提供一个替身或占位符以控制对这个对象的访问。 代理控制访问的方式: 1.远程代理控制访问远程对象。 2.虚拟代理控制访问创建开销大的资源。 3.保护代理基于权限控制对资源的访问。代码实现:...

2018-08-06 17:31:40 310

原创 Headfirst java设计模式-外观模式

外观模式:提供一个统一的接口,用来访问子系统中的一群接口。外观模式定义了一个高层接口,让子系统更容易使用。

2018-08-06 14:58:10 234

原创 Headfirst java设计模式-状态模式

状态模式:封装基于状态的行为,并将行为委托到当前状态。代码实现: (1)定义一个糖果机状态接口public interface State { /** * insert quarter */ void insertQuarter(); /** * eject quarter */ void ejectQuarter...

2018-08-06 11:00:40 315

原创 Headfirst java设计模式-策略模式

策略模式:定义算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。代码实现: (1)定义两个算法族(策略)的接口public interface FlyBehavior { void fly();}public interface QuackBehavior { void quack();}(2)定义一个接口,采用组合的方式调...

2018-08-06 10:25:17 326

原创 Headfirst java设计模式-单例模式

单例(件)模式:确保一个类只有一个实例,并提供一个全局访问点。代码实现: 1.懒汉式/** * 通过延迟实例化实现的单例模式 * 使用synchronized处理多线程访问,但是性能较差。 * @author zhangzhilin * */public class LazyInstantiazeSingleton { public static LazyInstan...

2018-08-06 09:46:31 186

原创 Headfirst java设计模式-观察者模式

观察者模式:在状态之间定义一对多的依赖,这样一来,当一个对象改变状态,依赖他的对象会都收到通知,并改变状态。代码实现: 1.采用自定义的observer和observerable接口 (1)创建subject和observer两个接口,以及布告板接口public interface Observer { public void update(float temp, float ...

2018-08-02 20:46:52 281

原创 Headfirst java设计模式-模板方法模式

模板方法模式:在一个方法中定义一个算法的骨架,而将一个步骤延迟到子类中。模板方法可以使子类在不改变算法结构的情况下,重新定义算法中的某些步骤。代码实现: (1)创建一个CaffineBeverage抽象类,并声明两个抽象方法供子类实现。public abstract class CaffineBeverage { final void prepareRecipe(){ ...

2018-08-02 20:10:10 184

原创 Headfirst java设计模式-工厂模式

工厂方法模式:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类的实例化推迟到子类。 抽象工厂模式:提供一个接口,用于创建相关或依赖对象的家族,而不许要明确指定具体类。代码实现: 1.简单工厂(严格上非工厂模式) (1)创建一个pizza抽象类public abstract class Pizza { public abstract void prep...

2018-08-02 15:03:15 633

原创 Headfirst java设计模式-装饰者模式

装饰者模式:动态的将责任附加到对象上。若要扩展功能,装饰者模式提供了比继承更有弹性的替代方案。代码实现: (1)先声明Beverage和CondimentDecorator两个抽象类public abstract class Beverage { String description = "Unknow Beverage"; public String getDes...

2018-08-02 13:57:44 228

原创 Headfirst java设计模式-组合模式

组合模式:允许将对象组合成树形结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。相关代码实现: (1)实现一个MenuComponent抽象类import java.util.Iterator;public abstract class MenuComponent { public void add(MenuComponent menuC...

2018-08-01 17:34:02 243

原创 Headfirst java设计模式-迭代器模式

迭代器模式:提供一种方法顺序访问一个聚合对象中的各个元素,而不暴露其内部表示。代码实现: (1)先定义一个menu接口 public interface Menu { public Iterator createIterator(); }(2)定义一个MenuItem类,用于存储menu相关的信息 public class MenuItem { Stri...

2018-07-31 17:11:11 253

原创 Headfirst java设计模式-命令模式

命令模式:将请求封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。 简而言之:命令模式就是将方法调用封装起来。相关代码: (1)先定义一个command接口: public interface Command { public void execute(); }(2)定义一个Light类作为command执行者(receiver) ...

2018-07-31 16:00:15 251

原创 Headfirst java设计模式-适配器模式

适配器模式:将一个类的接口,转换为客户期望的另一个类的接口。适配器让原本不兼容的类可以合作无间。 适配器分为两种: 1.对象适配器:采用组合的方式,将请求传送给被适配者。 2.类适配器:继承被适配者和目标类。适配器和外观模式都可以针对多个类,他们的区别在于意图不同,适配器的意图在于改变接口符合客户需要,而外观模式的意图是提供子系统的一个简化接口。1.对象适配器:采用组合的方式,将请求...

2018-07-31 14:14:01 387

原创 java工具-Calender工具类

Calender主要用于时间解析转换。 Calender接口相关中文介绍见:http://tool.oschina.net/apidocs/apidoc?api=jdk-zh相关代码: import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor...

2018-07-30 16:44:51 401

空空如也

空空如也

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

TA关注的人

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