![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
设计模式(Java)
文章平均质量分 94
设计模式(Java)
Survivior_Y
愿为夜幕暗室的一粒灯火,照彻万里尘埃千百年
展开
-
Java 设计模式之代理模式(Proxy)
一、代理模式 代理模式为另一个对象提供一个替身或占位符以控制对这个对象的访问 代理模式一般分为三类:静态代理、动态代理以及CGLIB代理。 二、静态代理 目标类和代理类都要实现接口 用户需求:火车票体系 需求分析: 现在已经有国家正式的卖票软件12306,但是好像它并不好用 智行代理售票,抢票概率高(这里没体现,现实我也没感觉),但是要加手续费 类图设计: 代码示例...原创 2020-02-19 21:19:08 · 200 阅读 · 0 评论 -
Java 设计模式之模板模式(Template)
一、模板模式 前几个模式,比如策略模式是封装了算法(行为),工厂模式封装了对象的创建,命令模式封装了方法的调用(这个博客还没写,后面看看补一下),今天要写的模板模式是一种行为型模式,封装的也是算法,跟策略模式比较像又有一些不同 模板方法模式在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤 类图: Abstr...原创 2020-02-18 22:32:39 · 367 阅读 · 0 评论 -
Java 设计模式之适配器模式&外观模式(Adapter&Facade)
一、适配器模式 将一个类的接口,转换成客户期望的另一个接口,适配器让原本接口不兼容的类可以合作无间 适配器模式属于一种结构性模式,分为两种适配器:对象适配器和类适配器 对象适配器类图: Client:只能看到Target接口,调用 request() 方法 Target:目标接口 package Adapter; public interface Target { p...原创 2020-02-18 21:53:37 · 376 阅读 · 0 评论 -
Java IO学习之装饰器&适配器模式
一、装饰器模式 概念:又名包装(Wrapper)模式,动态地给对象添加额外的职责,从增强功能的角度来说,Decorator模式比子类继承更加灵活,Decorator模式以对客户端透明的方式扩展对象功能 应用场景: 以动态、透明的方式增强对象功能 增强的功能可以被撤销 无法采用子类继承增强的情况 装饰器结构: Componet:定义一个抽象类 //可以是接口,可以是抽象类 publ...原创 2019-08-28 22:28:05 · 435 阅读 · 0 评论 -
Java 多线程学习三(单例模式与多线程)
一、什么是单例模式? 单例模式(Singleton)是一种比较常用的设计模式,在应用场景中,单例模式的类的对象有且只有一个。例如打印机只有一台,避免两个任务同时下发到打印机中,通信端口只有一个,避免多个请求同时调用通信端口,这样的情况下,单例模式是非常有用的。从程序的角度上,单例模式就是确保一个类只有一个实例,并提供一个访问它的全局访问点。 二、如何保证实例唯一? 构造方法私有化:防止外部初...原创 2019-07-31 23:33:44 · 130 阅读 · 0 评论 -
Java 设计模式之工厂模式(Factory)
一、简单工厂 简单工厂是一种编程习惯,把变化的代码(new 对象)封装在一个工厂里 用户需求:客户想要在pizza店orderPizza 需求分析: 首先只有1个pizza店,有不同种类的pizza,不同客户order不同种类的pizza 如果在pizza店的类里用 if else 编码,一旦有新种类就需要改pizza店的代码 这里新建一个对象,封装创建pizza对象的部分,这个对...原创 2020-02-17 21:12:19 · 383 阅读 · 0 评论 -
Java 设计模式之装饰器模式(Decorator)
一、装饰器模式 装饰器模式(Decorator Pattern):动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案 类图: Component:组件 ConcreteComponent:将要动态加上新行为的对象,扩展自Component Decorator:每个装饰者都有一个组件,就是说装饰者有个实例变量以保存某个Component的引用,这是装饰者共同实...原创 2020-02-16 14:31:29 · 696 阅读 · 0 评论 -
Java 设计模式之观察者模式(Observer)
一、观察者模式(Observer Pattern) 观察者模式定义了对象之间的一对多依赖,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新 主题和观察者松耦合 主题唯一依赖的是一个实现Observer接口的对象列表 二、模式详解 ...原创 2020-02-16 13:23:21 · 234 阅读 · 0 评论 -
Java 设计模式之策略模式(Strategy)
一、策略模式 策略模式(Strategy Pattern):定义了算法族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。此模式属于行为型模式的一种。 二、模式详解 游戏项目开始伊始,有各种鸭子,可以呱呱叫(quack),可以游泳(swim)。这里设计了超类,每个鸭子类型都继承超类 过段时间后,发现玩家们想要这个鸭子可以飞,这好办,我就在超类Duck中添加...原创 2020-02-15 18:01:36 · 918 阅读 · 0 评论