设计自己的代码可维护性实现

时间:2018-02-02 03:10:14

标签: java oop

我使用Java作为样本。让我们说我正在开发一个软件而且我有这个

CustomList extends ArrayList<ObjectMapper>

现在,它已将自定义函数添加到ArrayList。它专门设计用于满足ObjectMapper实例的列表(可能是JsonNode,TreeNode;属于jackson依赖)。现在整个项目都利用了这个。但是有人提到了这一点:&#34;如果ArrayList在将来被弃用或过时怎么办?&#34;如果确实发生了这种情况,我们必须重写或修改整个源代码。所以他们称之为Bad Design。我怎么能避免这个?我应该创建一个实现List的接口OurList,并将其实现为OurArrayList,这将是我们将要使用的内容吗?请解释如何正确完成。假设我希望能够使用ArrayList&#39; iterate方法。在不影响项目代码可维护性的情况下,最好的方法是什么?

2 个答案:

答案 0 :(得分:3)

你太担心了,因为ArrayList很可能不会很快被弃用。

即使已弃用,也不要将其视为您的代码会破坏的承诺。

  

您可能听过“自我贬低的幽默”一词,或者说说话者的重要性最小化的幽默

     

不推荐使用的类或方法就是这样。 不再重要。事实上,你不应该再使用它,因为它已被取代而且可能将来不再存在。

如果您的担忧源于过时,您应该更多地关注要求和满足需求。事情变得过时,这是不可避免的,不要让它困扰你。 ArrayList被弃用不应该担心,除非因为严重问题而被弃用。

您是否担心Thread被弃用? Vector引用受欢迎,直到它被弃用。你仍然可以看到它,因为它不会被删除以允许源向后兼容。

如果你投入修改代码主要是为了保持“跟上潮流”,而不是把时间花在当前的问题上,你就会浪费时间。担心ArrayList被弃用可能会让您分散项目可能存在的其他潜在问题。

答案 1 :(得分:0)

我几乎可以肯定ArrayList永远不会被弃用。它使用得太广泛了。但是,如果您确定要这样做,请使用CustomList实现List