我最近有一个对象/类设计问题。问题是这样的:
“您有一所大学,它拥有员工,可以是学生或老师。”
他们要求我仅设计员工的关系,所以我制作了一个简单的继承图
然后他问我,如果学生可以成为教师,而不能继承员工和教师,会发生什么情况。我无法回答,所以他设计了一个带有Role类的解决方案。
另一种解决方法本来可以使用Decorator模式?
我的第一个解决方案:
他对多重继承问题的解决方案
替代解决方案?
您如何看待这些方法?
谢谢
编辑:我在YouTube上找到了一个视频,他们描述并解决了这个问题,他们使用了相同的基于角色的解决方案。 https://youtu.be/dYUZiJEy0JE?t=1252
答案 0 :(得分:2)
这是一个很弱的问题:“雇员可以是学生还是教师。”他的解决方案允许没有任何角色的雇员,除非必须由“员工”对象的创建者强制使雇员成为两个角色之一的不变性。随着大学的发展,他实际上使您成为更好的解决方案。也就是说,从员工到学生或老师的专业相脱节。 This question is similar。
答案 1 :(得分:0)