最近想要开始学习设计模式,因此打算做些笔记,做个心得分享。
为什么我突然脑子抽风想学设计模式?
为了找工作,努力补习看了《Java程序员面试笔试宝典》这本书。但是对于其中关于设计模式的,完全属于死记硬背。强行背诵下:
单例模式:确保该类只有一个实例,而且自行实例化,并向整个系统提供这个实例。
public class Test{
private Test(){}
private static Test uniqueInstance = new Test();
public static Test getInstance(){
return uniqueInstance;
}
}
当然还有工厂模式,适配器模式等等。作为没有接触过企业级大工程的我而言,真的不太能理解设计模式存在的作用。但是设计模式对于一个程序猿而言,一定是必须的程序框架设计的思想来源。
为了搞清楚设计模式,一位挚友推荐了我一本书《设计模式之禅》。有点深奥的一本书。
在前言部分,讲到了设计模式 (Design Pattern, DP) 是一套前人留下的经验。
设计模式可以提高代码的可重用性,增强系统的可维护性,以及解决一系列的复杂问题。我们很难摸清楚需求是什么,但是可以分析现有需求,预测可能发生的变更,提前做好准备迎接需求。
因此,传授经验时,一定是先讲思想,再谈方法。因此在23种设计模式的背后,有着6大设计原则。我觉得这个设计原则比了解设计模式是什么要更加重要。
当然在这些事情之前,最重要的是看懂UML类图。(非常惭愧,我之前真的没有接触过类图)
UML 类图
强烈推荐的学习网址: 讲的很清楚。
看懂UML类图和时序图 - Graphic Design Patternsdesign-patterns.readthedocs.io