优先使用类层次,而不是标签类
概述
标签类是指这样的类:一个类含有两种或者多种风格的实例,这个类包含了一个指明实例风格的标签,例如:
1 | // Tagged class - vastly inferior to a class hierarchy! |
但这种做法是非常糟糕的,因为这里面包含了枚举声明、标签域,还有switch语句。这里面扩展性很差,并且内存中包含了不必要的占用。
我们应该改换成类层次,定义好抽象类,采用继承的方法实现。
标签类是指这样的类:一个类含有两种或者多种风格的实例,这个类包含了一个指明实例风格的标签,例如:
1 | // Tagged class - vastly inferior to a class hierarchy! |
但这种做法是非常糟糕的,因为这里面包含了枚举声明、标签域,还有switch语句。这里面扩展性很差,并且内存中包含了不必要的占用。
我们应该改换成类层次,定义好抽象类,采用继承的方法实现。