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 完成此操作。基本上,策略将是他们的工作,但我可能会做出 Worker
或 Employee
class;并非所有 Person
都是工人。
如果 Person
封装了应用策略来完成任务或职责的概念,他们可以动态(运行时)切换任务或职责。
例如,如果我有一个人 class,但是一个人的每个实例都可以有 0 个或多个职位或工作 - 具有特定的能力和职责 - he/she 可以在两者之间切换随意。
我认为您可以使用 Strategy Pattern 完成此操作。基本上,策略将是他们的工作,但我可能会做出 Worker
或 Employee
class;并非所有 Person
都是工人。
如果 Person
封装了应用策略来完成任务或职责的概念,他们可以动态(运行时)切换任务或职责。