IT学习笔记——设计模式

1.学会看UML类图


在“动物”矩形框,它就代表一个(Class)。类图分三层,第一层显示类的名称,如果是抽象类,则就用斜体显示。第二层是类的特性,通常就是字段和属性。第三层是类的操作,通常是方法或行为。注意前面的符号,“+”表示public,“-”表示private,“#”表示protected。

上图中的左下角的“飞翔”,它表示一个接口图,与类图的主要区别是顶端有《interface》显示。第一行是接口名称,第二行是接口方法。接口还有另一种表示方法,俗称棒棒糖表示法,就是上图中的唐老鸭类实现了“讲人话”的接口。

上图中,在大雁类中,它实现了飞翔接口,实现接口用空心三角形+虚线来表示。

当一个类“知道”另一个类时,可以用关联(asociation)。上图企鹅需要“知道”气候的变化,需要“了解”气候规律,存在关联关系。关联关系用实线箭头来表示。

再来看上图的大雁与雁群两个类,大雁是群居动物,每只大雁都是属于一个雁群,一个雁群可以有多只大雁。所以它们之间就满足聚合(Aggregation)关系。聚合表示一种弱的“拥有”关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。聚合关系用空心菱形+实线箭头来表示。

合成(Composition,或叫组合)是一种强的“拥有”关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。上图中的鸟和其翅膀就是合成关系,因为它们是部分与整体的关系,其生命周期是相同的。合成关系用实心的菱形+实线箭头来表示。连线两段还有数字“1”和“2”,这被称为基数,表示这一端的类可以有几个实例,很明显,一个鸟应该有两只翅膀。如果一个类可能有无数个实例,则就用“n”来表示。

动物要有生命力,需要氧气、水以及食物等,也就是说,动物依赖于氧气和水,他们之间是依赖关系(Dependency),用虚线箭头来表示。

2.简单工厂模式

即用一个单独的类来做创建实例的过程。如简单运算工厂类:

/*
 * 简单运算工厂类
 */
public class OperationFactory {
	public static Operation createOperation(String operation) {
		Operation oper=null;
		switch(operation) {
			case "+":
				oper=new OperationAdd();
				break;
			case "-":
				oper=new OperationSub();
				break;
			case "*":
				oper=new OperationMul();
				break;
			case "/":
				oper=new OperationDiv();
				break;
		}		
		return oper;		
	}
}




猜你喜欢

转载自blog.csdn.net/xudasong123/article/details/80959320