设计模式
Lyuuku爱吃苹果
这个作者很懒,什么都没留下…
展开
-
设计模式-模板模式
模板模式适用于同一种流程有不同的实现方式的场景,比如春节回家,都会经历规划行程、选择交通工具、路线、到家这四个阶段,但是不同的人可能每个流程会不一样,比如时间规划有些人会请假,但是大部分人都会按照法定假日,然后交通工具不同的人有不同的选择,路线更是五花八门,可能最后到家这个步骤是一样的,我们理解成就是给家人见面先定义一个基础模板类 BaseTemplate,列好具体实现步骤/** * 基础模板 */public abstract class BaseTemplate { public v原创 2022-05-23 07:34:40 · 105 阅读 · 0 评论 -
设计模式之单例模式
单例模式是我最早接触的设计模式,主要的构造方式是懒汉式与饿汉式两种,先说线程安全好实现的饿汉式饿汉式:public class SingleHungry { /* 私有化构造函数 */ private SingleHungry() {} /* 内部调用实例 */ private static SingleHungry instance = new SingleHun...原创 2018-06-26 05:56:02 · 117 阅读 · 0 评论 -
设计模式之工厂模式
工厂模式分为三类: 1.简单工厂模式 2.工厂方法模式 3.抽象工厂模式 这三种模式从上到下逐步抽象1. 简单工厂模式 简单工厂模式其实逻辑很简单,其核心思想就是根据传入的参数返回不同的对象,对象的创建过程由自定义的一个类去完成,也就是所说的工厂,这里以水果为例 先定义一个水果类通用接口publi...原创 2018-07-02 06:27:35 · 111 阅读 · 0 评论 -
设计模式之策略模式
策略模式:定义一组算法,将每个算法都封装起来,并且使他们之间可以相互转换,是在接口上面做进一步的处理,体现了面向接口编程的思想 假如现在要设计一个场景,在一片草原上有很多种动物,他们都有吃东西的需求,要怎么用代码来实现这一生态系统。可能大家第一印象想到的就是设计吃东西的接口,然后每种动物分别去实现继承这种接口public interface Animal { voi...原创 2018-07-03 06:53:53 · 106 阅读 · 0 评论 -
设计模式之代理模式
所谓的代理模式其实就是和中介差不多,它避免了我们对对象的直接访问,同时也提供了对对象功能的扩展能力,举个例子:假如一家企业为了自身的品牌宣传想找NBA的球星库里来中国打一场表演赛,双方需要沟通活动的行程以及合同事宜,显然这些事情如果直接和库里沟通不太合适,一来人家很忙,二是合同相关的他可能也不太专业,所以实际操作中往往是通过他的经纪人来谈定这些事情,那经纪人在这里就充当了代理的作用,类似功...原创 2018-06-28 06:12:48 · 108 阅读 · 0 评论 -
设计模式之观察者模式
大多数人第一眼看到观察者模式应该想到的都是小偷和警察的例子,小偷作案时需要有一个人放风,其他人去偷东西,当放风的人发现有人靠近时就通知到他的同伙,其实设计模式中的观察者模式就是这种思想,我们先来看下官方介绍. 定义: 一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知 构成: 抽象被观察者角色:也就是一个抽象主题,它把所有对...原创 2018-07-05 06:41:30 · 144 阅读 · 0 评论 -
设计模式之装饰模式
最早接触装饰模式是在学I/O的时候,当时老师讲过Buffer系列的输入输出流就是用到了装饰模式,我对装饰模式的理解就是在实现类的基础上对其进一步的增强(区别于扩展)就是装饰模式的核心理念,例如有下面场景 例如给房子装修添置家具可能有多种不同的变化,每种变化占用的房屋面积和花销肯定也会不一样,那怎么才能能灵活的体现出每添置一样家具后房屋的可用面积和花销的变化呢,接下来用装饰模式的思...原创 2018-07-07 07:13:52 · 148 阅读 · 0 评论