一套被反复使用,多数人知晓的,经过分类的,代码设计经验的总结。
为了代码的可重用性,让代码更容易被他人理解,保证了代码的可靠性。设计模式使代码的编写真正的工程化,设计模式是软件工程的基石脉络,如果大厦的结构一般。
- 创建型模式:单例模式、工厂模式等
- 结构性模式:装饰模式、代理模式等
- 行为型模式:模板模式、迭代器模式等
单例模式是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; } }
定义一个操作中的算法过程骨架,而将一些步骤延迟到子类去实现
示例
// 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(){
// 方法体
}
}