列表操作中正确的OOP方法?

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

我有一个OOP问题,例如,有列表(数组)。

需要一种机制,该机制将从每个数组中添加(保存)并删除选定的值。输出应针对其所选元素的每个数组。

数组的添加逻辑可以不同。例如,对于arr1数组,在添加到选定条件列表之前,先满足特定条件,否则满足其他条件。

我认为正确吗?

Arrays arr1, arr2, arr3-数据模型。它们内部具有任何类型的数据。executor类必须负责数组上的操作,它还允许您将一个项目添加到所选(收藏夹)列表中,然后从该列表中删除它。

问题1-每个数组的选定元素列表存储在哪里?

问题2-如果类ArrayHandler的逻辑正确,那么当add方法的逻辑针对不同的数组而变化时,我会遇到问题。

在这种情况下,我不知道如何检查,是那个数组,需要在添加到选定列表之前进行其他检查。

class ArrayHandler {
    add (element) {
           // How to distinguish which input array is here to do the check before adding?
    }
}
typescript oop design-patterns polymorphism solid
1个回答
0
投票

我将尝试用简单的方式回答您。让我知道是否有不清楚的地方。

问题1-每个数组的选定元素列表存储在哪里?

答案:如果数组的数量是固定的(您提到的是3个),只需使该类的三个成员成为每个数组的代表,否则,使单个成员具有2D类型的数组,并且该数组包含您的数据数组。

问题2-如果ArrayHandler类的逻辑正确,当add方法的逻辑针对不同的数组而变化时,我会遇到问题。

在添加之前如何区分此处要检查哪个输入数组?

要添加的数组,如果只有一个要添加的功能,则此信息必须在要添加的项目中。否则,所有数组将具有单独的add函数,该函数实现其逻辑。

如果为每个特定的数组添加逻辑完全不同,那么最好对单个数组进行分离以具有不同的添加功能。

您只能在类外部公开单个数组函数,并且可以在公开的单个add函数内部调用。相同的条件将用于调用其相应的add函数。

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