前言
一直听说设计模式很重要,但是一直不是理解为什么很简单的代码要写成那么复杂的样子。直到某一天我在抽取共通代码的时候,发现这些类处理业务的逻辑都是相同的,唯一不同的是他们抽取数据的方法不一样。本着面向对象的思想,我就在想我用一个抽象类来实现共同的方法,而不同的数据抽取逻辑写成一个抽象方法,这样我的代码就可以实现高度的复用。后来看来,这就是模板方法模式。
从那以后,我再看设计模式,也就能理解面向对象的代码怎么写。其实无非是面向对象技术(如封装,继承,多态)的组合应用。看起来是句废话,不过我们平时写的实现简单业务的代码用不到面向对象思想,我们所能做的就是多找些这样的场景,慢慢练习。
UML类图
想学习设计模式,应该掌握UML类图这个知识点。类图可以十分精确的描述设计模式。下面我来简单介绍一下UML类图的基本图示法。这里给大家推荐一个在线绘图的网站ProcessOn,下面的这张图就是在上面画出来的,感觉还是不错的。
ProcessOn
- 车的类图结构是<<abstract>>,表示车是一个抽象类
- 它有两个继承类:汽车和自行车;它们之间的关系是实现关系,用虚线空箭头表示
- 汽车和卡车之间是继承关系;它们之间的关系是泛化