![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
早睡早起身体好~
这个作者很懒,什么都没留下…
展开
-
设计模式之策略模式
策略模式 最近买了一本关于java设计模式的新书《Head First 设计模式》,里面介绍了java 的23种设计模式。目前看了第一章介绍的策略模式,里面的内容很容易理解,但是让我自己用嘴说出来却又总感觉表达不是很清楚。正所谓温故知新,所以我打算把自己的理解以及书上的代码记录到这里,算是一个回顾的过程。 策略模式:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式原创 2017-08-06 16:35:59 · 305 阅读 · 0 评论 -
设计模式之观察者模式
观察者模式 认识观察者模式: 早些年信息还不是很发达的时候,人们获取信息的途径主要是通过看报纸的形式。今天介绍的观察者模式用报社来作比喻最合适不过了。报社的业务就是出版报纸,顾客向某家报社订阅报纸,只要他们有新报纸出版,就会给你送来。只要你是他们的订阅用户,你就会一直收到新报纸。当你不想看报纸的时候,取消订阅,他们就不会再送新报纸来。只要报社还在运营,就会一直有人(或单位)向他们订阅报纸原创 2017-08-12 18:54:27 · 220 阅读 · 0 评论 -
设计模式之装饰者模式
装饰者模式 在《Head First 设计模式》一书中,对于装饰者模式的讲解是以一个咖啡店的饮料为模型来展开讲解的。在我们购买咖啡时会选择加入各种各样的调料,例如:蒸奶、豆浆、摩卡或奶泡等。每种咖啡也会根据所加入的调料不同收取相应的费用。一个比较成熟的设计方案是:以饮料为主体,然后在运行时以调料来"装饰(decorate)"饮料。比如:如果顾客想要摩卡和奶泡深焙咖啡,那么做法是:原创 2017-08-20 18:33:01 · 204 阅读 · 0 评论 -
设计模式之工厂模式
工厂模式 工厂方法模式:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。 工厂方法用来处理对象的创建,并将这样的行为封装在子类中。这样,客户程序中关于超类的代码就和子类对象创建代码解耦了。 用一个制作披萨的披萨店来讲解工厂模式 创建一个抽象的类来描述披萨店: package com.my.factory; public abstrac原创 2017-08-26 22:01:09 · 211 阅读 · 0 评论 -
设计模式之单例模式
单例模式 单例模式:确保一个类只有一个实例,并提供一个全局访问点。 单例模式用来创建独一无二的,只能有一个实例的对象的入场券。 问:这样做有什么好=好处呢? 答:有一些对象其实我们只需要一个,比方说:线程池(threadpool)、缓存(cache)、对话框、处理偏好设置和注册表(registry)的对象、日志对象,充当打印机、显卡等设备的驱动程序对象。事实上,这类对象只能有一个实例,如果原创 2017-08-27 15:34:25 · 164 阅读 · 0 评论 -
设计模式之命令模式
命令模式原创 2017-09-03 11:01:22 · 198 阅读 · 0 评论 -
设计模式之代理模式
代理模式(Proxy) 一、代理模式介绍 代理模式:为其他对象提供一种代理以便控制对这个对象的访问。 可以详细控制访问某个类(对象)的方法,在调用这个方法前作的前置处理(统一的流程代码放到代理中处理)。调用这个方法后做后置处理。 例如:明星的经纪人,租房的中介等等都是代理 代理模式分类: 1.静态代理(静态定义代理类,我们自己静态定义的代理类。比如我们自己定义一个明转载 2017-09-10 21:31:12 · 217 阅读 · 0 评论 -
设计模式之适配器模式
适配器模式 什么是适配器?举个例子,假设你有一台三孔插头的家用电器,但是插线板上只有一个两孔的插座,此时我们没办法给家电供电。因为三孔插头无法插入两孔的插座里面,它们的类型不匹配。这个时候我们就需要一个转接头,插入三孔插头就能转换成两孔的插头,这个时候我们就能插入插座中了。在这个过程中,转接头就可以看作是一个适配器。 记得我们讲第一个设计模式时,用的是鸭子模型,这次我原创 2017-09-09 12:48:30 · 189 阅读 · 0 评论