设计模式
学习交流
木鱼非鸟
把“坚持”坚持成习惯
展开
-
设计模式(6)—— 桥接模式
桥接模式 是将抽象部分与它的实现部分分离,是他们都可以独立地变化。它是一种对象结构型模式,又称为炳体模式或者接口模式 优点 桥接模式偶尔类似于多继承,但是多继承方案违背了类的单一继承,复用性比较差,类的个数也非常多,桥接模式是比多继承方案更好的解决方法。极大的减少了子类的个数,从而降低管理和维护成本 桥接模式提高了系统放入可扩充性,在两个变化维度任意扩展一个维度,都不需要修改原有系统。符合开闭原则,就像一座桥,可以把两个变化的维度连接起来 缺点 桥接模式的引入会增加系统的理解与设计难度,由于聚合关原创 2021-03-25 19:36:26 · 63 阅读 · 0 评论 -
设计模式(5)—— 适配器模式
适配器模式 作用:从程序的结构上实现松耦合,从而可以扩大整体的类结构,用来解决更大的问题 将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作 对象适配器 一个对象适配器可以把多个不同的适配器者适配到同一个目标 可以适配一个适配者的子类,由于适配器和适配者之间是关联关系,根据“里氏替换原则”,适配者的子类也可以通过该适配器进行适配 类适配器 对于Java、c#等不支持多重类继承的语言,一次最多只能适配一个适配者类,不能同时适配多原创 2021-03-25 19:35:21 · 221 阅读 · 0 评论 -
设计模式(4)—— 原型模式
原型模式 原型模式可以理解为克隆一个 克隆有浅克隆和深克隆【实现深克隆,修改clone()和序列化、反序列化】 浅克隆 /* 浅克隆可以理解为将值和引用都给了克隆对象,但二者不是同一对象,当修改其中的一个值或者引用,另一个也会发生变化 */ public class TestVideo { public static void main(String[] args) throws CloneNotSupportedException { // Date date = new Date原创 2021-03-25 19:34:06 · 39 阅读 · 0 评论 -
设计模式(3)——建造者模式
文章目录建造者模式 建造者模式 建造者模式也属于创建型模式,它提供了一种创建对象的最佳方式 定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示 主要作用:在用户不知道对象的建造过程和细节的情况下可以直接创建复杂的对象 用户只需要给出指定复杂对象的类型和内容,建造者模式负责创建复杂对象(把内部建造细节过程和细节隐藏起来) 方式一 Product public class Product { private String buildA; private String原创 2021-03-23 21:25:00 · 61 阅读 · 0 评论 -
设计模式(2)——工厂模式
文章目录工厂模式简单工厂模式工厂方法模式抽象工厂模式(产品组概念) 工厂模式 作用:实现了创建者和调用者分离 核心本质:实例化对象不使用new,用工厂方法代替 将选择实现类,创建对象统一管理和控制。从而将调用者跟我们的实现类解耦 三种模式: 简单工厂模式(静态工厂模式) 用来生产同一等级结构中的任意产品(对于增加的新产品,需要修改已有代码) 虽然某种程度上不符合设计原则,但实际应用最多 工厂方法模式 用来生产同一等级结构中的固定产品(支持增加任意产品) 不修改已有类的前提下,通过增加新原创 2021-03-20 10:55:30 · 87 阅读 · 0 评论 -
设计模式(2)——单例模式
文章目录单例模式饿汉式懒汉式 单例模式 饿汉式 线程安全 //饿汉式是线程安全的,是跟类一起实例化的,但是会浪费内存空间 public class HungryF { private HungryF(){} private static final HungryF hungryF = new HungryF();//跟类一起实例化 public static HungryF getInstance() { return hungryF; } } 懒汉式 线程原创 2021-03-17 17:25:13 · 56 阅读 · 0 评论 -
设计模式(1)——静态代理
/* 静态代理:可以直接通过代理的对象对被代理的对象进行操作 */ public class StaticProxy { public static void main(String[] args) { Company company = new Company(new You());//最后只需将我传给婚庆公司即可 company.happyMarry(); } } //先是一个接口,代理和被代理的都实现此接口 //婚庆公司和我都要实现此接口 interf原创 2021-02-01 18:05:35 · 41 阅读 · 0 评论