Java OOP 设计:可以使用哪些模式来设计层次结构,其中 tasks/methods 可以在对象的不同实例之间进行委托?

Java OOP design: what patterns can be used to design a hierarchy in which tasks/methods can be delegated between different instances of objects?

例如,如果我有一个人 class,但是一个人的每个实例都可以有 0 个或多个职位或工作 - 具有特定的能力和职责 - he/she 可以在两者之间切换随意。

我认为您可以使用 Strategy Pattern 完成此操作。基本上,策略将是他们的工作,但我可能会做出 WorkerEmployee class;并非所有 Person 都是工人。

如果 Person 封装了应用策略来完成任务或职责的概念,他们可以动态(运行时)切换任务或职责。