![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 72
Eragon伊拉龙
这个作者很懒,什么都没留下…
展开
-
《Java设计模式之模板模式》
《模板模式》 模板模式:定义一个算法结构,让部分步骤延迟到子类去实现,使得子类不得改变算法结构就可以重定义算法的某些特定本步骤。 模板模式组成:抽象父类:实现了一个模板方法,定义了一个算法骨架,部分算法延迟到子类实现 具体实现类:实现父类中抽象的算法。 以魔兽世界战士为例, 代码如下://抽象父类public abstract class War原创 2017-07-29 16:55:11 · 151 阅读 · 0 评论 -
《Java设计模式之工厂模式》
自己的博客之旅就从Java设计模式开始,记录和督促自己的学习!!!《一》工厂设计模式:1.工厂模式的三类 1) 简单工厂模式 2 ) 工厂模式 3 ) 抽象工厂模式 2.简单工厂模式 又被称为静态工厂,如其名,这个模式非常简单,本质就是一个工厂类角色接收不同的参数返回不同的产品。该工厂类扮演的就是一个...原创 2017-07-18 08:42:01 · 248 阅读 · 0 评论 -
《Java设计模式之策略模式》
《二 》策略模式相信很多人都玩过魔兽世界这款游戏,它里面的展示有三种姿态:防御、狂暴、武器,那么在不同的场景下我们需要使用不通的姿态,比如当MT抗怪就需要使用防御姿态,战场需要使用武器姿态,而输出可能就要使用到狂暴姿态。那么在Java程序中使用硬编码的方式实现如下:原创 2017-07-20 18:55:27 · 396 阅读 · 0 评论 -
《Java设计模式之装饰者模式》
《三》装饰者设计模式在这里直接使用HeadFist设计模式中的星巴兹咖啡店为例(不同品种的咖啡配上各类的调料对应不同的价格),在这里我们首先使用继承的方式来实现://抽象父类public abstract class Beverage { protected String description; void getDescription(){ System.out.printl原创 2017-07-22 11:28:55 · 180 阅读 · 1 评论 -
《Java设计模式之状态模式》
《状态模式》 我们经常使用if-else来应付状态的切换,这样往往会导致程序难以阅读、维护和扩展,假设我们现在要模拟交通灯的切换,顺序是绿灯-黄灯-红灯-绿灯...,我们先用if-else来模拟一下:private int state = 0;public void change(){ if (state==0){ System.out.println("显示绿灯"); st原创 2017-08-02 14:09:24 · 211 阅读 · 0 评论 -
《Java设计模式之代理模式》
《代理模式》 代理模式:为对象提供一种代理以控制这种对象的访问。在Java中有静态代理和动态代理两种实现方式。 静态代理: 拿日本动漫《棋魂》举例,佐为只是灵魂,它要下棋必须通过阿光这个“代理”,我们用代码实现一下://Subjectpublic interface WeiQi { void playWeiQi();}//RealSubjectpub原创 2017-08-03 15:19:48 · 219 阅读 · 0 评论 -
《Java设计模式之组合模式》
《组合模式》 组合模式:将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。public abstract class Component { protected String name; public Component(String name) { this.name = name; } //添加节点 pub原创 2017-08-04 15:04:11 · 159 阅读 · 0 评论 -
《Java设计模式之迭代器模式》
《迭代器模式》 Java中所有Collection下的集合都有一个iterator()方法返回Iterator接口的实现类,用于对该集合的遍历操作,这实际上就使用到了迭代器模式:提供一个方法顺序访问一个聚合对象的每一个元素,而有不暴露该对象的内部实现。 迭代模式的结构: 用代码模拟一下迭代器模式://抽象迭代器public interface MyIt原创 2017-08-01 16:07:38 · 169 阅读 · 0 评论 -
《Java设计模式之命令模式》
《命令模式》 命令模式:将一个请求封装成一个对象,从而使你可用不同的请求对客户端进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。将发出请求的对象与接收请求的对象分隔开来,松耦合。 玩网游的人都知道“宏命令”的概念,玩家可以编制自己的宏命令来节省操作,这里以魔兽世界为例,先使用紧耦合的方式实现角色的一连串技能施法:public class Wizard { p原创 2017-07-25 14:57:14 · 167 阅读 · 0 评论 -
《Java设计模式之适配器模式》
《适配器模式》 现实生活中的用到适配器的例子有很多,比如插座的适配器、电脑usb的转接头等等,那么在java中适配器模式其实起着相同的作用,它能将一个接口通过适配器转换成我们想要的接口。 两种适配器类型:1.类适配器模式:通过继承被适配的接口和目标接口,来实现转换接口的功能。因为Java并不支持多继承,所以用类适配器模式会有局限性。原创 2017-07-27 22:50:12 · 178 阅读 · 0 评论 -
《Java设计模式之单例模式》
《单例模式》 Java的单例模式是非常常见的设计模式,在Jdk的库中也被广泛应用,这里介绍常见的饿汉模式和懒汉模式,以及如何在多线程的环境下完善懒汉模式: 饿汉单例模式//饿汉式单例类.在类初始化时,已经自行实例化 public class Singleton1 { private Singleton1() {} private sta原创 2017-07-24 14:39:59 · 153 阅读 · 0 评论