S.O.L.I.D的S可以扩展到代码的每个元素吗?

时间:2012-02-20 14:11:06

标签: c++ oop solid-principles single-responsibility-principle

着名的面向对象编程设计的S代表:

  

单一责任原则,即对象应具有的概念   只有一个责任。

我想知道,这个原则是否可以扩展到数组,变量和程序的所有元素?

例如,让我们说:

int A[100];

我们使用它来存储函数的结果,但不知何故我们使用相同的A [100]来检查,例如,我们已经检查和详细说明了A的哪些索引。 这可能被认为是错误的吗?我们不应该创建另一个元素来存储,例如,我们已经检查过的索引吗?难道这不是未来凌乱的代码吗?

PS:对不起,如果我的问题不易理解,但英语不是我的主要语言。如果您对此有任何疑问,请在下面的评论中告诉我。

2 个答案:

答案 0 :(得分:1)

如果在不同的程序代码部分使用相同的A实例,则必须遵循此原则。如果A是辅助变量,例如本地变量,我认为你不需要来关心它。

答案 1 :(得分:0)

如果您正在跟踪已更新的数组位的使用情况,那么您可能不应该使用数组,而是使用地图。

在任何情况下,如果你需要对数组进行那种额外的控制,那么基本上,你应该考虑一个既包含数组内容又包含有关已经完成和未完成的各种信息的类。因此,您的数组就像对象一样成为类对象的本地数组,并且瞧。你有一个单一的责任。