Skip to content

Latest commit

 

History

History
executable file
·
150 lines (64 loc) · 2.2 KB

File metadata and controls

executable file
·
150 lines (64 loc) · 2.2 KB

设计模式

一套被反复使用,多数人知晓的,经过分类的,代码设计经验的总结。

1. 使用设计模式的目的

为了代码的可重用性,让代码更容易被他人理解,保证了代码的可靠性。设计模式使代码的编写真正的工程化,设计模式是软件工程的基石脉络,如果大厦的结构一般。

2. Java中的设计模式(23种)

  • 创建型模式:单例模式、工厂模式等
  • 结构性模式:装饰模式、代理模式等
  • 行为型模式:模板模式、迭代器模式等

3. 单例模式

单例模式是Java中最简单的设计模式(设计思想)之一,这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式(保证一个类仅有一个实例,并提供一个访问它的全局访问点)

饿汉式:

  • 私有化构造器

    例如:

    private Singleton(){
    }
  • 声明一个私有的静态的当前类的实例

    private static Singleton instance = new Singleton();

  • 声明公有的静态的,能够返回当前类实例的方法

    public static Singleton getInstance() {
        return instance;
    }

懒汉式:

  • 示例

    public class Singleton {
        private static Singleton instance;
        private Singleton(){
        }
        public static Singgleton getInstance(){
            if (instance == null){
                instance = new Singleton();
            }
            return instance;
        } 
    }

4. 模板模式

定义一个操作中的算法过程骨架,而将一些步骤延迟到子类去实现

示例

// A就是一个模板
public abstract class A {
	public void sayHello(){
	    System.out.println("hello");
        sayName();
        sayInfo();
        System.out.println("再见");
	}
    public abstract void sayHello();
    public abstract void sayInfo();
}

class B extends A {
    public void sayHello(){
        // 方法体
    }
    public void sayInfo(){
        // 方法体
    }
}