gpt4 book ai didi

java - "Synonyms"类

转载 作者:行者123 更新时间:2023-12-01 17:30:27 24 4
gpt4 key购买 nike

为了举例,我有一个代表 WAV 声音文件的 WAV 类。为了方便起见,我需要添加一个名为 WaveformAudioFile 的类,它具有完全相同的功能。

无论可能的设计/风格问题如何,集成新类的适当方法是什么?通过使用扩展(不添加任何内容)、通过使用通用接口(interface)还是其他东西?

编辑:进一步思考一下,如果要考虑设计,是否有其他方法可以避免冗余代码?我的意思是,如果有多个类,那么编写接口(interface)会很烦人。某种可用于初始化的模式。属性?

最佳答案

1.从设计的角度来看,如果您希望您的类发挥特定作用,那么请选择接口(interface)。

2.如果您的行为不断变化,那么最好将它们封装在抽象类或接口(interface)中,然后扩展或实现它来指定某些功能。

//////////////////////////////////////////已编辑: ///////////////////////////////

我认为您指的是DRY原则(不要重复自己),根据这个原则,最好将您的信息和行为放在单一的敏感位置

但是如果相同功能的不同类的行为不同怎么办?

例如:

Painting 视为具有 paint() 方法

现在

paint()方法可以有描边、滑动、着色等风格。

那么最好将该方法封装到抽象类或接口(interface)中

public interface Paint{

paintDoIt(String style);

}

不是一项令人厌烦的工作,而是关于灵 active 以及能够在不接触太多类且不破坏代码的情况下进行更改的能力

软件工程中只有一件事是不变的,那就是更改

所以我们需要采用它。

关于java - "Synonyms"类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11573423/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com