设计模式

本文总阅读量
本文最后更新于2 分钟前,文中所描述的信息可能已发生改变。

什么是设计模式?

设计模式是软件设计中常见问题的典型解决方案。(感觉都是为了使得设计的程序可扩展性好,不易出错,灵活高效)

根据意图/目的来分类

创建型模式

提供创建对象的机制,增加已有代码的灵活性和可复用性。(个人理解:创建对象的形式)

  • 工厂方法模式 定义一个用于创建对象的接口,让子类决定实例化哪一个类。使一个类 提供一种创建对象的方式而不需要指定要创建的具体类。创建过程延迟到子类进行
    实现:在工厂类的工厂方法中返回一个接口类型,工厂方法的具体实现由其子类去定义,在子类中返回的类型需实现这个公共接口。也就是说让子类决定工厂方法的具体返回类型,客户端调用工厂方法并不知道其实现细节。扩展时只需要新增一个工厂的子类并重写其工厂方法即可。
    应用场景:不同条件下创建不同的实例时。
  • 单例模式 让一个类只有一个实例并提供一个访问该实例的方法。 实现:
java
public final class A{
    public static A a;
    public String b;
    private A(String b){this.b=b;}
    public static A newAInstance(String b){
        if(a == null){
            a = new A(b);
        }
        return a;
    }
}

结构型模式

介绍如何将对象和类组装成较大的结构,并同时保持结构的灵活和高效。(组织业务结构的形式)

行为型模式

负责对象间的高效沟通和责任委派。(模块之间的通信,信息传递)

  • 观察者模式(发布者-订阅者模式) 当发布者中被订阅者订阅的状态改变时,所有订阅了该状态的订阅者都会收到来自发布者的通知并自动更新。定义了一种一对多的关系。主要解决一个对象状态改变给其他对象通知的问题。
常用算法
面试笔记
Valaxy v0.18.5 驱动 | 主题 - Yun v0.18.5
本站总访问量
本站访客数 人次
本站已运行0 天0 小时0 分0 秒后缀