【发布时间】:2014-09-22 11:39:15
【问题描述】:
我有两个由以下类表示的数据模型:
1) ImagesSet - 一个拥有 2DImage 的对象,每个 2DImage 都有自己的位置(origin(3DPoint), x-,y-axes(3DVector) 和沿 x 和 y 轴的尺寸(以像素为单位)),但相同的像素大小(例如以 mm 为单位),x 和y轴(90度)
这个对象有以下方法(伪代码):
- 添加图像(2D图像);
- RemoveImage(ImageIndex);
- 数字GetNumberOfImages();
- 2DImage Get2DImage(ImageIndex);
2) 3DImage - 与第一个类似但有以下限制的对象: 它只能存储具有相同 x、y 轴和沿 x 和 y 轴的尺寸的 2D 图像。
在这种情况下从 ImagesSet 派生 3DImage 是否正确? 从我的角度来看 3DImage “是一个” ImagesSet (但有一些小的限制) 我可以在这里应用 Liskov 替换原则吗?
在这种情况下,如果我们尝试添加具有另一个 x,y 轴的图像 - 方法 AddImage 将抛出异常或返回错误。
提前致谢, 谢尔盖
【问题讨论】:
标签: oop design-patterns object-oriented-analysis