对于具有两种类型(一种可编辑,另一种不可编辑)的实体,我应该如何应用 SOLID 原则

问题描述 投票:0回答:1

我有一个实体(比如 E1)和一些与其关联的属性。类似的实体(E2)表示它具有与 E1 相同的所有属性,但唯一的区别是编辑性质。 E1 不可编辑,并且其属性不会有任何设置器。另一方面,E2 是可编辑的并且有设置器。存在这种可编辑性质是因为它们都是相似的实体,正如我之前所说,并且 E1 的编辑性质受到限制,因为我们填充了该类型并且需要用例。截至目前,我们还没有为 E1 开放编辑性质的计划。

我有一系列问题我应该如何进行。

  1. 我应该为 E1 编写一个类,然后为 E2 扩展 E1 添加编辑功能吗? (这也遵循开闭原则和里氏原则)
  2. 如果将来我们只提供E1的编辑名称,我应该将设置名称方法从E2移至E1(这打破了开闭原则)
  3. 如果我遵循 E2 是父级、E1 是其子级并限制编辑性质的方法,则会违反里氏原则。
  4. 如果我考虑接口隔离原则并为 E1 和 E2 编写一个基类,并让它们扩展该基类。然后我编写了一个具有可编辑性质的接口,并使E2扩展了该性质。这将与 SOLID 相匹配,但考虑一下未来名称单独可编辑的情况,我应该如何处理?为该功能编写另一个接口并继续实现它?

我不知道如何进一步进行。有人可以阐明如何处理此类情况吗?

附注我是开发新手

java entity solid-principles ooad
1个回答
0
投票

请点击此链接了解更多详情: 坚固

© www.soinside.com 2019 - 2024. All rights reserved.