这是一个设计问题。
我们有有副本的杂志;副本由文章制成。为了出版杂志的副本,每篇文章都需要经过验证;当所有文章都经过验证后,副本本身就可以发布。
所以我们有一个 Copy 类和一个 Article 类;Copy 类有一个“publish”方法,Article 类有一个“verify”方法。
以下是我的问题:
如何设计 Copy 类以使其由 Articles 组成?
我是否需要与 Copy 类的实例化分开实例化文章(如果是,我如何使文章成为副本的一部分),或者文章的实例化可以由 Copy 构造函数完成吗?每个教程都涉及“组合与继承”,但在这种情况下我找不到描述实例化的教程。
(可选)是否有编写 Copy.publish 方法的非程序性方法,以便仅在每篇文章都经过验证时才运行?在我看来,每篇文章的状态和副本的状态之间应该存在某种状态/同时性(当每篇文章都已成功验证时,副本的状态是“can_be_published”——但我不应该必须检查每篇文章的状态,每次尝试发布副本时)。
我对 Java 相当陌生,并试图“按书”编写这个小应用程序,而不是简单地以程序方式编写每个操作,但我能找到的关于组合的信息令人惊讶地少。