引言
在学习Java基础的一些知识的时候,会逐渐接触、感受到开发方面的问题:
诸如内存空间的控制,时间效率的把控,安全性,方便性等等
设计模式的概念:
设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。
(一) 单例模式
我们不妨想象一个问题:
假设有这样一个类,我们在全局会频繁的调用它,那么我们便会在使用的时候去创建一个新的对象使用,之后再自动销毁。。。
那么这就会导致空间和时间两方面的低效。
单例模式解决的便是一个全局使用的类频繁地创建与销毁
代码实现:
public class Tool {
private static Tool tool = new Tool();
private Tool(){
}
public static Tool getInstance() {
return tool;
}
}
- 定义一个静态属性,类加载时便初始化
- 将构造方法定义为私有,这样无法创建新对象
- 定义一个获取实例的公有方法,每次调用都获取的是同一个实例
大大节省了时间和空间
此设计模式有几种实现方式,解决的是在多线程工作下不能保持高性能的问题
(二) 工厂模式
很多时候,书写代码会创建一个有一个的类。当全局的其它地方需要调用此类的时候,便要书写创建对象的语句。
但仔细想想,正因为是我们自己书写的代码,所以我们才清楚此句的用途。若是去使用别人的代码,这么做是不是有点“私闯民宅”的意思了呢。
其实也就是为了表达这样一种思想:
就好比我们去提一辆车,我们只会关心提出来的车,而不会关心它是如何从工厂中加工出来的。
工厂模式便是若想创建一个对象,只要知道其名称就可以了
汽车工厂示例:
public interface Car {
void get() ;
}
public class Lexus implements Car{
@Override
public void get() {
System.out.println("你获得了一辆雷克萨斯");
}
}
public class Benz implements Car{
@Override
public void