
设计模式
设计模式小菜鸡
Jackeys007
开朗、活泼,一个逗比的程序员
展开
-
你知道状态模式吗?
状态模式一、状态模式二、举例 一、状态模式 允许对象在内部状态改变时改变它的行为,对像看起来好像修改了它的类。 二、举例 设计一个糖果机,要求如下 糖果机有四个状态 有硬币 无硬币 转轴 投放糖果 状态接口类 package com.jackeys.StateMode; /** * @Description: 状态接口 * @ClassName: State * @Package com.jackeys * @Author: Jackeys 1623427047@qq.com * @Copy原创 2021-10-26 14:08:40 · 132 阅读 · 0 评论 -
你知道组合模式吗?
组合模式一、组合模式二、举例 一、组合模式 允许你将对象组合成树形状结构来表现“整体/部分”的层次结构。组合能让客户以一致的方式处理个别对象以及组合。 二、举例 设计一个二级菜单 菜单组合类 package com.jackeys.Component; import java.util.ArrayList; /** * @Description: 菜单组合类 * @ClassName: MenuComponet * @Package com.jackeys.Component * @Autho原创 2021-10-25 09:42:23 · 118 阅读 · 0 评论 -
你知道迭代器模式吗?
迭代器模式一、迭代器模式二、举例自定义迭代器Java内置迭代器 一、迭代器模式 提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。 二、举例 合并一个餐厅菜单和煎饼屋菜单,要求如下 餐厅菜单用数组存储菜单项 煎饼屋用ArrayList存储菜单项 女服务员需要遍历餐馆的所有菜单 自定义迭代器 迭代器接口类 package com.jackeys.IteratorMode.DIY; /** * @Description: 迭代器接口 * @ClassName: Iterator原创 2021-10-24 09:14:00 · 200 阅读 · 0 评论 -
你知道什么是外观模式吗?
外观模式一、外观模式二、举例 一、外观模式 提供一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。 二、举例 请设计一个类,要求如下 电影类 投影仪类 将看电影的整个复杂过程包起来 电影类 package com.jackeys.AppearanceMode; /** * @Description: 电影类 * @ClassName: Movie * @Package com.jackeys.AppearanceMode * @Author: Jacke原创 2021-10-19 19:44:50 · 147 阅读 · 0 评论 -
你知道什么是适配器模式吗?
适配器模式一、适配器模式二、举例 一、适配器模式 将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。 二、举例 请设一个类,要求如下: 鸭子类 火鸡类 火鸡可以适配鸭子的接口 鸭子接口类 package com.jackeys.AdapterMode; /** * @Description: 鸭子接口 * @ClassName: Duck * @Package com.jackeys.AdapterMode * @Author: Jackeys 1623427原创 2021-10-19 19:35:55 · 162 阅读 · 0 评论 -
你知道什么是命令模式吗?
命令模式一、命令模式二、举例 一、命令模式 将“请求”封装成对象,以便于使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。 二、举例 请设计一个遥控器,要求如下: 可以控制灯的开关 也可以扩展其他的命令控制 命令接口类 package com.jackeys.CommandMode; /** * @Description: 命令接口 * @ClassName: Command * @Package com.jackeys.CommandMode * @Author: J原创 2021-10-19 19:28:05 · 280 阅读 · 0 评论 -
你知道什么是单例模式吗?
单例模式一、基本概念二、普通单例模式三、同步单例模式四、静态单例模式五、双检锁单例模式 一、基本概念 单例模式:确保一个类只有一个实例,并提供一个全局访问点 二、普通单例模式 package com.jackeys.Singleton; /** * @Description: 普通单例模式 * @ClassName: Singleton * @Package com.jackeys.Singleton.common * @Author: Jackeys 1623427047@qq.com * @原创 2021-10-18 13:07:09 · 184 阅读 · 0 评论 -
你知道简单工厂模式吗?
简单工厂模式一、简单工厂模式二、举例 一、简单工厂模式 将类的创建交给工厂,我们只需要接受工厂创建好的类。 静态工厂:工厂创建对象的方法是静态的。 抽象工厂:定义一个抽象类工厂,去继承。 工厂方法:定义一个接口类工厂,去实现。 二、举例 设计一个工厂类负责生产不同种类的披萨,要求如下 披萨,名称,面团,酱汁,配料列表 披萨店,负责卖披萨 工厂类,负责生产不同的披萨 简单披萨工厂 package com.jackeys.FactoryMode; /** * @Description: 简单披萨工厂原创 2021-10-08 15:25:32 · 117 阅读 · 0 评论 -
你知道什么是装饰者模式吗?
装饰者模式一、装饰者模式二、举例 一、装饰者模式 动态地将责任附加到对象上。想要扩展功能,装饰提供有别于继承的另一种选择。 二、举例 设计一个饮料类,要求如下 有饮料的名称,价格 可以给饮料加配料 饮料类 package com.jackeys.DecoratorMode; /** * @Description: 饮料类 * @ClassName: Beverage * @Package com.jackeys.DecoratorMode * @Author: Jackeys 16234270原创 2021-10-07 10:09:18 · 119 阅读 · 0 评论 -
你知道观察者模式吗?
观察者模式一、观察者模式二、举例自定义观察者模式Java内置观察者模式 一、观察者模式 定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖着都会收到通知并自动更新。 举个例子,其实就是报纸订阅服务,出版者和订阅者的关系。出版者一旦有了新的报纸,就去通知订阅者“最新的报纸已经到了”,你可以这么理解。 出版者就是主题,订阅者就是观察者。 二、举例 设计一个气象站,要求如下 气象站一旦接受到新的气象信息,就马上通知它的订阅者 订阅者收到信息之后,马上将信息展示在布告板上 自定义观察者模式原创 2021-10-06 13:36:43 · 118 阅读 · 0 评论 -
你知道策略模式吗?
策略模式一、策略模式二、举例 一、策略模式 定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 二、举例 设计一个鸭子类,要求如下 飞,这种行为有多种变化 叫,这种行为有多种变化 展示,展示这只鸭子的种类 游泳行为,所有的鸭子都应该会游泳 分析:由于鸭子的飞、叫这种行为具有变化性,所以我们应该将变化独立封装起来,因此我们可以单独定义两个行为接口类,一个飞行为接口类,叫行为接口类,同时使用与之对应的不同的行为子类去实现,这样的一种设计模式就是策略模式。接下来看代原创 2021-10-04 10:34:42 · 139 阅读 · 0 评论